home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / OBV235R2.ZIP / OBV.DOC < prev    next >
Text File  |  1996-11-10  |  431KB  |  9,905 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.     ▄▓▄▄    ▄▄       ▄▄       ▄▄       ▄    ▄▄    ▄▓▄▄    ▄▄▓▄▄▄       ▄▄▄▄▄
  28.   ▄███ █▓▄ ███▓     ███▓     ███▓      █▓▄ ███▓ ▄███ █▓▄ █▓███ ▓█▄    █▓██ ▓█▄
  29.  ▐█▓█▌ ▐█▓▌█▓██▄   ▐▓██▌     ▓███ ▄▓█▄ ▐█▓▌▓███▐█▓█▌ ▐█▓▌█████ ▐▓█▌   ▀▀▀▀ █▓█
  30.  ▐▓█▓▌ ▐██▌███▓▀█▄ ▐██▓▌ls!  ██▓█ ▓█▓█ ▐██▌██▓█▐▓█▓▌ ▐██▌███▓█ ▐██▌   ██▓█▀▀▀
  31.  ▐▒▓█▌ ▐▓█▌▓█▓█ ▐█▌▐▓▓█▌ █▄  ▓▓██ ▒▓██ ▐▓█▌▓▓██▐▒▓█▌ ▐▓█▌▓█▓██ ▐▓█▌  ▐▓▓█▌ ▐▓▄
  32.  ▐░▒▓▌ ▐█▓▌▒▓██ ▐▓▌▐▒▓█▌ █▓█ ▒▓██ ░▒▓█ ▐█▓▌▒▓██▐░▒▓▌ ▐█▓▌▒▓██▓ ▐█▓▌  ▐▒▓█▌ ▐█▓▌
  33.   █░▒▓ ██▀ ░▒▓█ ██▀ ░▒▓█ ██▀ ░▒▓█ ▀░▒▓ ██▀ ░▒▓█ █░▒▓ ██▀ ░▒▓██ ▐██▌  ▐░▒▓▌ ███
  34.    ▀░▒▀▀o  ▀░▒▓▀▀b  ▀░▒▓▀▀l  ▀░▀i   ▀▒▓▀v  ▀░▀i  ▀░▒▀▀o  ▀░▒▓▀ ▀▀▀n   ▀░▒▓██▀2
  35.  
  36.                     Oblivion/2 Bulletin Board System
  37.                               Version 2.35
  38.  
  39.  
  40.                     Copyright (c) 1996 Murray Stokely
  41.       All rights reserved.  No portion of this documentation may be
  42.        changed or altered without the express prior permission of
  43.                               the authors.
  44.  
  45.       Oblivion/2 v2.35                                   TABLE OF CONTENTS
  46.       ────────────────────────────────────────────────────────────────────
  47.  
  48.  
  49.       Section 1: Legal Information ..................................... 2
  50.         1.1  Foreword .................................................. 3
  51.         1.2  General Overview .......................................... 3
  52.         1.3  Registration .............................................. 4
  53.         1.4  For the Beginning Sysop ................................... 6
  54.           1.4.1  Security Considerations ............................... 6
  55.             1.4.1.1  Co-Sysops ......................................... 6
  56.             1.4.1.2  Group Modifications ............................... 7
  57.             1.4.1.3  Sysop Functions ................................... 7
  58.             1.4.1.4  Other Tips ........................................ 7
  59.           1.4.2  The DSZ Logfile ....................................... 8
  60.           1.4.3  Batch Oriented File System ............................ 8
  61.           1.4.4  The Menuing System .................................... 8
  62.           1.4.5  System News Message Base .............................. 9
  63.         1.5  Waiting For Caller Screen Commands ........................ 9
  64.  
  65.       Section 2: Access Conditioning System ........................... 12
  66.  
  67.       Section 3: Configuration ........................................ 15
  68.         3.1  System Information ....................................... 15
  69.         3.2  System Information 2 ..................................... 18
  70.         3.3  System Information 3 ..................................... 20
  71.         3.4  Look and Feel ............................................ 22
  72.         3.5  Communication Information ................................ 23
  73.         3.6  Filename Configuration ................................... 25
  74.         3.7  ACS Configuration / ACS Configuration 2 .................. 26
  75.         3.8  File Section ............................................. 28
  76.         3.9  Email Information ........................................ 30
  77.         3.10  Message Section ......................................... 30
  78.         3.11  Color Configuration ..................................... 31
  79.         3.12  Val User/NUV Configuration .............................. 31
  80.         3.13  Infoforms ............................................... 33
  81.         3.14  WFC Options ............................................. 35
  82.  
  83.       Section 4: Oblivion/2 External Utilities ........................ 36
  84.         4.1  MenuCode ................................................. 36
  85.         4.2  StatCode ................................................. 37
  86.         4.3  UnPack ................................................... 39
  87.         4.4  MakeProm ................................................. 39
  88.         4.5  MakeHelp ................................................. 39
  89.         4.6  EP ....................................................... 39
  90.         4.7  IP ....................................................... 40
  91.         4.8  AnsiTran ................................................. 40
  92.  
  93.       Section 5: Oblivion/2 Commandline Parameters .................... 41
  94.  
  95.       Section 6: Sysop Online Keys .................................... 42
  96.  
  97.       Section 7: Event Editor ......................................... 44
  98.         7.1  Errorlevel Events ........................................ 45
  99.  
  100.       ────────────────────────────────────────────────────────────────────
  101.       Oblivion/2 v2.35 Bulletin Board System Main Documentation          i
  102.       Oblivion/2 v2.35                                   TABLE OF CONTENTS
  103.       ────────────────────────────────────────────────────────────────────
  104.  
  105.         7.2  Code Execution Events .................................... 46
  106.         7.3  Sysop Availability Events ................................ 46
  107.         7.4  User ACS Events .......................................... 46
  108.  
  109.       Section 8: User Editor .......................................... 48
  110.         8.1  User Search Editor ....................................... 50
  111.         8.2  Wanted Users ............................................. 51
  112.  
  113.       Section 9: Parameter Editor ..................................... 52
  114.  
  115.       Section 10: Blacklist ........................................... 54
  116.  
  117.       Section 11: Prompt Editor ....................................... 55
  118.  
  119.       Section 12: Menu Prompt Editor .................................. 57
  120.  
  121.       Section 13: Protocol Editor ..................................... 59
  122.  
  123.       Section 14: Archive Editor ...................................... 62
  124.         14.1  Archive Signature Strings ............................... 65
  125.  
  126.       Section 15: Conference Editor ................................... 67
  127.  
  128.       Section 16: Data Area Configuration ............................. 68
  129.  
  130.       Section 17: Email ............................................... 72
  131.         17.1  The Email Tag System .................................... 72
  132.         17.2  Group Mail .............................................. 73
  133.  
  134.       Section 18: The Chat System ..................................... 75
  135.         18.1  Configurable Chat Screen ................................ 75
  136.  
  137.       Section 19: Generic Menu Configuration .......................... 78
  138.  
  139.       Section 20: Mini-DOS ............................................ 80
  140.  
  141.       Section 21: Echomail Networking Oblivion/2 ...................... 81
  142.         21.1  Using a FrontEnd Mailer with Oblivion/2 ................. 81
  143.         21.2  Using a Mail Processor with Oblivion/2 .................. 82
  144.  
  145.       Section 22: Menu Editor ......................................... 84
  146.         22.1  Using the Menu Editor ................................... 84
  147.         22.2  The Pulldown System ..................................... 86
  148.         22.3  Hidden Commands and Wildcarding ......................... 89
  149.         22.4  Command Stacking ........................................ 90
  150.         22.5  The Command Editor ...................................... 97
  151.           22.5.1  -? : Control Commands ............................... 98
  152.           22.5.2  &? : MultiNode Commands ............................ 105
  153.           22.5.3  {? : Matrix Commands ............................... 107
  154.           22.5.4  !? : Global Newscan Commands ....................... 108
  155.           22.5.5  .? : Door Commands ................................. 109
  156.  
  157.       ────────────────────────────────────────────────────────────────────
  158.       Oblivion/2 v2.35 Bulletin Board System Main Documentation         ii
  159.       Oblivion/2 v2.35                                   TABLE OF CONTENTS
  160.       ────────────────────────────────────────────────────────────────────
  161.  
  162.           22.5.6  ^? : New User Voting Commands ...................... 110
  163.           22.5.7  *? : Sysop Commands ................................ 111
  164.           22.5.8  +? : Color Setting Commands ........................ 112
  165.           22.5.9  [? : Main Menu Commands ............................ 113
  166.           22.5.10  C? : Conference Editor Commands ................... 116
  167.           22.5.11  D? : Data Area Commands ........................... 116
  168.           22.5.12  E? : Email Commands ............................... 118
  169.           22.5.13  F? : File Commands ................................ 121
  170.           22.5.14  J? : Join Conference Commands ..................... 125
  171.           22.5.15  M? : Message Commands ............................. 126
  172.           22.5.16  N? : Message Reading Commands ..................... 129
  173.           22.5.17  Q? : QWKMail Menu Commands ........................ 131
  174.           22.5.18  R? : Top Ten Listing Commands ..................... 132
  175.           22.5.19  S? : Message Base Sponsor Commands ................ 133
  176.           22.5.20  T? : File Sponsor Commands ........................ 134
  177.           22.5.21  V? : Voting Commands .............................. 137
  178.  
  179.       Section 23: File Areas ......................................... 138
  180.         23.1  File Area Editor ....................................... 138
  181.         23.2  File Listing Prompt Commands ........................... 139
  182.         23.3  The File Catalog ....................................... 140
  183.  
  184.       Section 24: The Upload Checker ................................. 142
  185.  
  186.       Section 25: Message Bases ...................................... 144
  187.         25.1  Message Base Editor .................................... 144
  188.         25.2  Using the JAM Message Base ............................. 144
  189.         25.3  Message Reading Prompt Commands ........................ 147
  190.  
  191.       Section 26: Message Editor Commands ............................ 149
  192.  
  193.       Section 27: Making Repeat Ansi Screens ......................... 150
  194.  
  195.       Section 28: Making Standard Ansi Screens ....................... 153
  196.         28.1  Standard MCI Codes ..................................... 153
  197.         28.2  Status Screen Library Ansis ............................ 155
  198.         28.3  Miscellaneous Ansis .................................... 161
  199.         28.4  File Description MCI Codes ............................. 162
  200.         28.5  Color MCI Codes ........................................ 162
  201.  
  202.       Section 29: Functions of ANSI.SYS .............................. 165
  203.  
  204.       Section 30: Help Systems, Registration Sites, Support .......... 168
  205.  
  206.       Section 31: Acknowledgements, Credits .......................... 170
  207.  
  208.       Section 32: Thanks ............................................. 171
  209.  
  210.  
  211.  
  212.  
  213.  
  214.       ────────────────────────────────────────────────────────────────────
  215.       Oblivion/2 v2.35 Bulletin Board System Main Documentation        iii
  216.       Section 1                                          LEGAL INFORMATION
  217.       ────────────────────────────────────────────────────────────────────
  218.  
  219.                          Section 1: LEGAL INFORMATION
  220.  
  221.  
  222.       This is copyrighted software owned by Murray Stokely.  This is NOT
  223.       public domain or freeware.  Murray Stokely grants you a TEMPORARY
  224.       license to try this software for EVALUATION purposes ONLY!  You may
  225.       use this package for an evaluation time of 30 days.  After this time
  226.       you have to register Oblivion/2 or stop using it.  Any further use
  227.       of this software is strictly forbidden and may result in legal
  228.       action.
  229.  
  230.       To register Oblivion/2, see Section 1.3 and the order forms called
  231.       ORDER.FRM in this package.  This is for NONCOMMERCIAL users only!
  232.       Commercial users please contact Murray Stokely directly.
  233.  
  234.       In no way does the author guarantee future versions of Oblivion/2,
  235.       nor is he in any way obligated to provide future versions of, or
  236.       support for, Oblivion/2.  Other members of administration are
  237.       also not obligated to provide support for Oblivion/2.
  238.  
  239.       Oblivion/2 is provided "as is" without warrant of any kind, neither
  240.       expressed nor implied.  The author only guarantees that Oblivion/2
  241.       will occupy disk space.
  242.  
  243.       In no event will the author be liable to you for any damages,
  244.       including lost profits, lost savings or other incidental or
  245.       consequential damages arising out of the use of this program.
  246.  
  247.       All mentioned products and packages are copyrighted by and
  248.       trademarks of their respective holders.
  249.  
  250.       Registered users receive a text file with a unique serial number.
  251.       These files are copyrighted stuff owned by Murray Stokely and MUST
  252.       NOT be distributed, hacked, reverse-engineered, etc.  If you don't
  253.       follow these regulations, your license expires immediately and legal
  254.       actions may be started against you.
  255.  
  256.       One unique serial number allows you to run Oblivion/2 on ONE system
  257.       at the same time only (system meaning installation/configuration).
  258.       If you are using the same serial number on different systems you
  259.       need an extra license (serial number) for the other system(s).  This
  260.       does not apply to multi-line systems running Oblivion/2 on the same
  261.       machine but on several lines, nor does it apply to multi-line
  262.       systems running Oblivion/2 on a single network, using several lines,
  263.       but for one bulletin board system.
  264.  
  265.       Modification, reverse engineering, and "run-time" manipulation of
  266.       any of the files included in the Oblivion/2 packages - especially
  267.       development, distribution, and use of so-called "patch programs"
  268.       which modify the executables - is strictly prohibited and will
  269.       result in immediate legal action.
  270.  
  271.       ────────────────────────────────────────────────────────────────────
  272.       Oblivion/2 v2.35 Bulletin Board System Documentation               2
  273.       Section 1                                          LEGAL INFORMATION
  274.       ────────────────────────────────────────────────────────────────────
  275.  
  276.  
  277.  
  278.  
  279.       1.1: Foreword
  280.  
  281.       Welcome to the world of the Bulletin Board System, and more
  282.       importantly, to the realm of the aspiring or veteran sysop.  Before
  283.       you sits the archive of an exceptional BBS package, Oblivion/2.
  284.       With today's bulletin board demands, Oblivion/2 is a high ranking
  285.       contender with the competition.  Today's sysop looks for high
  286.       configurability, ease of use, power at their finger tips.
  287.       Oblivion/2 presents all of these in an easy to use and easy to
  288.       understand package.  Whether you're a beginner or a veteran sysop,
  289.       Oblivion/2 can offer you what few other softwares can.  Amazing
  290.       expandibility and flexibility, molding the look and feel of the
  291.       software to any other software you might like (without their
  292.       annoying qualities), and a simple, sysop-friendly configuration.
  293.       The documentation you are reading was rewritten with you, the end
  294.       sysop, in mind.  It was written to be clear and concise and answer
  295.       any questions about the package you might have.  I hope it is
  296.       adequate, that it will open your eyes to an incredible software, and
  297.       that it will help you take those first steps towards what could be a
  298.       wonderful sysoping experience, as well as what will ultimately be a
  299.       system that any user will call and enjoy.
  300.  
  301.       Oblivion/2 BBS was originally designed by Eric Katz (also known as
  302.       Darkened Enmity) and Rony Daher (also known as Lord Tracer).
  303.       However, in the construction of version 2.35, Darkened Enmity dropped
  304.       Oblivion/2 as the main programmer of the software and gave control to
  305.       Murrary Stokely (also known as Shivan Bastard).  There are a few
  306.       sections in this documentation that were written by Lord Tracer, and
  307.       as such I want to acknowledge the work he did on the original
  308.       Oblivion/2 documentation.  The parts of his documentation that were
  309.       used have been noted.
  310.  
  311.  
  312.  
  313.       1.2: General Overview
  314.  
  315.       Oblivion/2 was originally designed to meet the needs of today's
  316.       system operators and users.  Thus it has virtually combined the two
  317.       main elements essential to any bulletin board software:  Power and
  318.       ultimate configurability for the sysop, and ease of use for the user.
  319.       There are many things that make Oblivion/2 the software of choice for
  320.       many sysops, two of these being the incredibly powerful (yet easy to
  321.       use) menuing system, and the ACS system as well.  With these two
  322.       tools alone, possibilities are nearly endless.  And, in future
  323.       versions SPaM (definition?) will be developed and it increases the
  324.       previously remarkable levels of configurability to new and exciting
  325.       heights.
  326.  
  327.  
  328.       ────────────────────────────────────────────────────────────────────
  329.       Oblivion/2 v2.35 Bulletin Board System Documentation               3
  330.       Section 1                                          LEGAL INFORMATION
  331.       ────────────────────────────────────────────────────────────────────
  332.  
  333.       This is a list of the major features inherent in Oblivion/2:
  334.  
  335.       ■  Powerful menu editor.  Allows for configuring all aspects of the
  336.          BBS.
  337.       ■  Configurable string (prompt) editor.  Internal strings are a thing
  338.          of the past, and with this editor, you can add a 100% original
  339.          feel to your system.
  340.       ■  Optimized for increased speed.  Runs fast on any machine.
  341.       ■  Support for multiple menusets.
  342.       ■  Support for multiple status screen sets.
  343.       ■  Support for multiple menu prompts.
  344.       ■  Echomail/Netmail compatible in the JAM and Fido/*.MSG formats.
  345.       ■  Configurable Data Area system.  With this you can create your own
  346.          BBS lists, oneliners, rumors, ansi galleries, and configure them
  347.          to look and behave however you wish.
  348.       ■  Support for DORINFO1.DEF/DOOR.SR/DOOR.SYS door file formats.
  349.       ■  Support for a maximum of 255 message and 255 file conferences.
  350.       ■  Internal upload processing system.  Checks all files for CRC
  351.          errors and viruses, runs age tests, can insert and remove text
  352.          files.  Can also perform other sysop definable maintenance
  353.          routines.
  354.       ■  Support for multiple archivers.  Any of these archivers can be
  355.          used to pack and unpack anything on the BBS, from files to QWK
  356.          packets.  This system also uses archive signature string
  357.          recognition, thus not having to rely on file extensions.
  358.       ■  Advanced user editor with internal searching routines.
  359.       ■  Parameter editor for easy control and manipulation of user levels.
  360.       ■  Configurable generic menu system.  It is no longer necessary for
  361.          sysops to change ansi's anytime a menu change is made with this
  362.          system, as it is all internal.
  363.       ■  The ability to run more than one BBS software as sub-boards.
  364.       ■  The ability to password-protect entry to your BBS to make it more
  365.          secure.
  366.       ■  Internal ANSI and Avatar drivers - ANSI.SYS is not required.
  367.       ■  Releases all unused time slices in multitasking environments,
  368.          specifically DESQview, OS/2, and Windows.
  369.       ■  Fullscreen ANSI message editor with sysop-defineable message
  370.          headers.
  371.       ■  Contains full featured split-screen chat.
  372.  
  373.  
  374.       1.3: Registration
  375.  
  376.       The registration of Oblivion/2 is simple.  All of the registrations
  377.       are handled through the HQ support system.  This system is currently
  378.       Stronghold Enterprises at 403-456-5699.
  379.  
  380.       The registration fee for Oblivion/2 is $50 US, payable in either a
  381.       cashier's cheque or a money order.  Please fill out and print a copy
  382.       of the ORDER.FRM file (available in all distribution archives or on
  383.       Stronghold Enterprises).  Include the order form with your
  384.  
  385.       ────────────────────────────────────────────────────────────────────
  386.       Oblivion/2 v2.35 Bulletin Board System Documentation               4
  387.       Section 1                                          LEGAL INFORMATION
  388.       ────────────────────────────────────────────────────────────────────
  389.  
  390.       registration fee when you mail it to the following address:
  391.  
  392.           Vincent Danen
  393.           #108 13806-24 St
  394.           Edmonton, AB
  395.           T5Y 1J7
  396.           Canada
  397.  
  398.       Make all cheques or money orders payable to Vincent Danen.
  399.  
  400.       To clear up some fine points on registration, please keep the
  401.       following in mind:
  402.  
  403.       ■  A completed ORDER.FRM MUST be sent with your order.
  404.       ■  Personal cheques are accepted, however your registration will be
  405.          delayed due to the time it takes for the banks to clear the
  406.          cheque.  Cashier's cheques or money orders are preferred.
  407.       ■  You cannot transfer your registration to a friend.  All
  408.          registrations and transfers are handled by us.
  409.       ■  If you're registering overseas, or anywhere outside of North
  410.          America (US and Canada), make sure to get your money order drawn
  411.          up at a major bank.  Smaller chains are VERY hard to cash here.
  412.          For Europeans and Australians, try to use Citibank as it works
  413.          well.
  414.       ■  If your handle on Stronghold Enterprises (if you are a user) is
  415.          different from the sysop name which you are using for your BBS,
  416.          please indicate this somewhere on your ORDER.FRM.
  417.  
  418.       Registrations are handled through a serial number system.  When we
  419.       validate your registration, you will receive a ZIP file containing a
  420.       textfile called SERIAL.NUM.  Inside this textfile you will find a
  421.       BBS Name, BBS Sysop, and a 20-digit serial number.  Enter that
  422.       information in your Oblivion/2 System Information Configuration
  423.       EXACTLY as it appears in the SERIAL.NUM file.  If the information is
  424.       not correct, the BBS will not register.
  425.  
  426.       The method on receiving the serial number must be indicated clearly
  427.       on your registration form.  You may choose from obtaining it from
  428.       Stronghold Enterprises or via crash netmail or via the postal
  429.       service.  If you choose the postal service, please include a
  430.       self-addressed stamped envelope.
  431.  
  432.       Should you lose your SERIAL.NUM, please contact any member of the
  433.       Oblivion/2 staff and a new one will be made available to you.
  434.  
  435.       If you decide to distribute your SERIAL.NUM file, a beta version of
  436.       Oblivion/2, or anything reserved for registered sysops only, your
  437.       registration will be immediately cancelled.  No questions asked.  No
  438.       refunds given.  No exceptions made.
  439.  
  440.       The Oblivion/2 team consists of the following members:
  441.  
  442.       ────────────────────────────────────────────────────────────────────
  443.       Oblivion/2 v2.35 Bulletin Board System Documentation               5
  444.       Section 1                                          LEGAL INFORMATION
  445.       ────────────────────────────────────────────────────────────────────
  446.  
  447.  
  448.        Shivan Bastard      Programmer
  449.        Lasher              Documentation, Beta Coordinator, Registrations,
  450.                               Canadian Headquarters
  451.        Patriot             Maintaining the support networks
  452.        MindCrime           World Headquarters
  453.  
  454.       If you wish to reach a member of the Oblivion/2 team, please mail us
  455.       on Stronghold Enterprises or at the below address.  Due to the large
  456.       amount of mail received, we cannot guarantee replies.
  457.  
  458.           Oblivion/2 Team
  459.           #108 13806-24 St
  460.           Edmonton, AB
  461.           T5Y 1J7
  462.           Canada
  463.  
  464.       or via the following internet email addresses:
  465.  
  466.           Shivan Bastard  obv@acid.org
  467.           Lasher          obv@acid.org
  468.           Patriot         jwaleke@sun.science.wayne.edu
  469.           MindCrime       mike@exit109.com
  470.  
  471.  
  472.       1.4: For the Beginning Sysop
  473.  
  474.       This section of the documentation is to help out first-time sysops
  475.       new to Oblivion/2.  As Oblivion/2 is very different from most other
  476.       softwares, there are a few things that may throw off and discourage
  477.       the beginning sysop.  This section is designed to get you on track
  478.       quickly and easily.  Veteran sysops of Oblivion/2 probably have no
  479.       need to read this section.
  480.  
  481.  
  482.  
  483.       1.4.1: Security Considerations
  484.  
  485.       Oblivion/2 is one of the most secure BBS softwares ever written,
  486.       certainly a lot better than your average Telegard or PCBoard setup.
  487.       But there are still some BASIC security issues that need to be
  488.       studied, these are not Oblivion/2 specific, as you can apply these
  489.       topics to ANY software.
  490.  
  491.  
  492.       1.4.1.1: Co-Sysops
  493.  
  494.       90% of the time, when someone does damage to a computer system, it
  495.       is accessed from a co-sysop account.  Whether your co-sysop has
  496.       turned against you (unlikely) or someone has hacked his passsword,
  497.       it doesnt realy matter, theres only one way to prevent it.  Keep a
  498.  
  499.       ────────────────────────────────────────────────────────────────────
  500.       Oblivion/2 v2.35 Bulletin Board System Documentation               6
  501.       Section 1                                          LEGAL INFORMATION
  502.       ────────────────────────────────────────────────────────────────────
  503.  
  504.       tight grip on his security level.  If he's a file sysop, does he
  505.       need access to the menu editor?  Does anyone need access to the
  506.       textfile editor?  The textfile and menu editors can become a lethal
  507.       combination in the hands of an intelligent hacker.  All you have to
  508.       do is write a batch file to do your damage with the text editor,
  509.       then use the menu editor to execute that batch file (.E).  I suggest
  510.       taking the text editor out of your sysop menu all together, or at
  511.       least give it the "=" ACS (local keyboard only).
  512.  
  513.  
  514.       1.4.1.2: Group Modifications
  515.  
  516.       Never, EVER install a mod you dont understand...  Look through the
  517.       menu editor in one menu, with your obv2 docs in another window (or
  518.       printed out) and look for commands that run external programs,
  519.       modify users ACS, preform sysop commands, etc.  Also look to see if
  520.       any batch files were included with the mod, if there were, then
  521.       look over them.  Just because a mod was released by a respectable
  522.       group like illness or acidic, it doesnt mean that someone hasn't
  523.       modified it since then (look for the zip-verification in newer acidic
  524.       mods).
  525.  
  526.  
  527.       1.4.1.3: Sysop Functions
  528.  
  529.       If you're running under Windows95, DESQview, or OS/2, the first
  530.       thing you want to do is set up another node, only for local access.
  531.       This way you can do all you want to the board and still have it
  532.       online for incoming callers.  This is also an excellent security
  533.       measure.  You can set the ACS for ALL potential security
  534.       compromising commands to "=" (local access only) or "V#" (only
  535.       available on node #).  Another tip for the highly cautious sysop is
  536.       to make all your menus READ ONLY (through dos's ATTRIB command).
  537.  
  538.  
  539.       1.4.1.4: Other Tips
  540.  
  541.       Rename FORMAT.COM and DELTREE.COM, this will prevent extensive
  542.       damage done from batch oriented hacking.  Just rename them to
  543.       format-.com and treedel.com or whatever you like best.  You can also
  544.       just delete them and keep them on floppy disk if you don't use them
  545.       very often.
  546.  
  547.       Add the following to your autoexec.bat "SET COPYCMD /-Y".  This will
  548.       force  DOS to prompt for action when you try to copy a file over an
  549.       existing one, this is sometimes the default setup, sometimes it
  550.       isn't. Better to be safe than sorry.  This will prevent a potential
  551.       hacker from having the ability to copy over important system files.
  552.  
  553.       The most important thing to understanding Oblivion/2 security is to
  554.       read the ACS and menu command sections of the docs.  If you dont
  555.  
  556.       ────────────────────────────────────────────────────────────────────
  557.       Oblivion/2 v2.35 Bulletin Board System Documentation               7
  558.       Section 1                                          LEGAL INFORMATION
  559.       ────────────────────────────────────────────────────────────────────
  560.  
  561.       understand your software, you wont be able to use it efficiently.
  562.       Simple as that.
  563.  
  564.  
  565.  
  566.       1.4.2: The DSZ Logfile
  567.  
  568.       This trips up a lot of new sysops and needs a brief explanation.
  569.       Many times a new sysop, eager to take a look at the package is
  570.       stumped by the error message: "Set the DSZLOG to C:\OBV\DSZLOG.1 or
  571.       something similar.  The DSZ log is a logfile that logs file
  572.       transfers for many different protocols, but most notably DSZ.COM.
  573.       DSZ is for X/Y/Zmodem file transfers.  The logfile is read by
  574.       Oblivion/2 for many different reasons, and therefore one needs to
  575.       be (and usually is) created.  However, many programs need to know
  576.       where to create the logfile, thus the DSZLOG environment variable.
  577.       If you have not defined this variable, Oblivion/2 will not run.  You
  578.       can define this a few different ways, but the most popular is to add
  579.       the line "SET DSZLOG=C:\OBV\DSZLOG.1" in your AUTOEXEC.BAT file.  You
  580.       can also define this logfile in the batch files that load up
  581.       Oblivion/2.  However, if you run a multinode system, the extension of
  582.       the logfile must reflect the node that is currently running.  For
  583.       example, if you have users logging into node 2 of your BBS, set
  584.       DSZLOG to C:\OBV\DSZLOG.2 in the batch files that loads the BBS.
  585.       Replace the path with your main Oblivion/2 directory path (the path
  586.       that Oblivion/2 gives you when exiting with an error).
  587.  
  588.  
  589.  
  590.       1.4.3: Batch Oriented File System
  591.  
  592.       Oblivion/2's file system is known as a batch oriented file system.
  593.       This means that Oblivion/2 can easily interface with common DOS
  594.       batch files for various different tasks.  You can do things like
  595.       downloading, uploading, typing, moving, deleting, changing,
  596.       information gathering, custom batch operations, etc.  Nearly all of
  597.       Oblivion/2's file operations use this batch method.  This batch
  598.       system is inherent to Oblivion/2, and you may select up to 50 files
  599.       for any given operation.  You can also customize operations by using
  600.       DOS batch files.  Batch Oriented File System is a good name for
  601.       these operations, as Oblivion/2 gathers the files into a "batch" of
  602.       files, while also allowing you to use normal batch files to
  603.       manipulate them further.
  604.  
  605.  
  606.  
  607.       1.4.4: The Menuing System
  608.  
  609.       Oblivion/2 was created with both sysops and users in mind, and the
  610.       menus reflect this.  There are menus that everyone can access, and
  611.       then there are "sponsor" menus that sysops, co-sysops, etc. can use.
  612.  
  613.       ────────────────────────────────────────────────────────────────────
  614.       Oblivion/2 v2.35 Bulletin Board System Documentation               8
  615.       Section 1                                          LEGAL INFORMATION
  616.       ────────────────────────────────────────────────────────────────────
  617.  
  618.       The sponsor menus are there to maintain certain sections of the
  619.       system: overall, files, and messages.  The sponsor menus, since they
  620.       contain some commands that could be damaging to your system in the
  621.       wrong hands, are generally reserved for sysops and co-sysops and the
  622.       access on these menus should be fairly high.  The default menus that
  623.       come with Oblivion/2 are designed like this.  The sponsor menus can
  624.       be reached by pressing the % key at the main, file, and messages
  625.       menus.
  626.  
  627.  
  628.  
  629.       1.4.5: System News Message Base
  630.  
  631.       This base is particularly useful to sysops who wish to alert users
  632.       to new news, bulletins, etc.  It is a normal message base (see
  633.       Section 25 later in the documentation for details on how to setup
  634.       message bases), with the MANDATORY flag set to Yes.  This means that
  635.       when users log in, they will read the messages posted there.  This
  636.       should have a post access where only you and (optionally) your
  637.       co-sysops have access.  You can also change the read access so that
  638.       only certain users can read it.  This way, you can make multiple
  639.       news bases that will be scanned upon login for different users of
  640.       different access levels.
  641.  
  642.  
  643.       There is a lot to learn with Oblivion/2, but it is easier to take
  644.       your time and learn things one by one as opposed to trying to mash
  645.       it all into your head at once.  These four tips will give you a
  646.       basic understanding of some very rudimentary commands you can make
  647.       Oblivion/2 do, and also give you an understanding of how the software
  648.       can be made to operate.  The rest of the docs contain clear
  649.       information on how to set up, maintain, create, and modify your
  650.       Oblivion/2 system.
  651.  
  652.  
  653.  
  654.       1.5: Waiting For Caller Screen Commands
  655.  
  656.  
  657.       The Waiting for Caller Screen, or WFC screen, has many commands that
  658.       you can use to ease maintenance on your BBS.  With 27 built-in
  659.       commands with an additional 9 that are sysop-defined, you have a
  660.       fair amount of power at your fingertips.  But they need a little
  661.       explaining as well.
  662.  
  663.       You may also select which WFC screen you wish loaded.  You may use
  664.       the 2.30 WFC screen or the new 2.35 WFC screen by Chromatik.  Use
  665.       the TAB key to switch between them.
  666.  
  667.       In order to define the 9 sysop-defined functions available at the
  668.       WFC screen, you will need to edit the WFC Options in the System
  669.  
  670.       ────────────────────────────────────────────────────────────────────
  671.       Oblivion/2 v2.35 Bulletin Board System Documentation               9
  672.       Section 1                                          LEGAL INFORMATION
  673.       ────────────────────────────────────────────────────────────────────
  674.  
  675.       Configuration (see Section 3.14).
  676.  
  677.       More Commands
  678.           This will call up the next screen of 9 commands for you to
  679.           choose from via using your function keys.
  680.  
  681.       Exit
  682.           This will exit Oblivion/2 and go back to DOS.
  683.  
  684.       Local
  685.           Calls a local logon.
  686.  
  687.       Send Carrier
  688.           This command will send carrier.  This is typically used if a
  689.           user is in his terminal program and you want to switch from a
  690.           voice connection to a data connection.  See Section 3.5 for more
  691.           information.
  692.  
  693.       Rec Carrier
  694.           This command will receive carrier.  This is the opposite of the
  695.           above command.
  696.  
  697.       Launch Menu
  698.           This command will launch a specific menu.  It will prompt you
  699.           for the MNU name and will load that specific menu.
  700.  
  701.       Dos Shell
  702.           This will invoke a DOS shell.
  703.  
  704.       Config
  705.           This command loads the System Configuration.
  706.  
  707.       Term Program
  708.           This command will run a batchfile called TERM.BAT in your main
  709.           Oblivion/2 directory.  You can use this to load up your
  710.           favourite terminal program.
  711.  
  712.       View Logs
  713.           This command will allow you to view the sysop logs.
  714.  
  715.       Mess. Newscan
  716.           This will invoke a global message newscan.
  717.  
  718.       File Newscan
  719.           This will invoke a global file newscan.
  720.  
  721.       Sysop Mail
  722.           This command will read any new email written to the sysop, or
  723.           user number one.
  724.  
  725.       Mail Scan
  726.  
  727.       ────────────────────────────────────────────────────────────────────
  728.       Oblivion/2 v2.35 Bulletin Board System Documentation              10
  729.       Section 1                                          LEGAL INFORMATION
  730.       ────────────────────────────────────────────────────────────────────
  731.  
  732.           This command will scan all the email on your system from the
  733.           date specified to the current date.
  734.  
  735.       Sysop Menu
  736.           This command will launch SYSOP.MNU.
  737.  
  738.       MiniDos
  739.           This command will invoke Oblivion/2's mini-dos.
  740.  
  741.       Menu Editor
  742.           This command will invoke the menu editor.
  743.  
  744.       User Editor
  745.           This command will invoke the user editor.
  746.  
  747.       Menu Prompts
  748.           This command will invoke the menu prompt editor.
  749.  
  750.       Prompt Editor
  751.           This command will invoke the prompt (or string) editor.
  752.  
  753.       Protocols
  754.           This command will invoke the protocol editor.
  755.  
  756.       Event Editor
  757.           This command will invoke the event editor.
  758.  
  759.       Libraries
  760.           This command will invoke the library editor, where you can
  761.           manipulate your menu libraries and status screen libraries.
  762.  
  763.       Infoforms
  764.           This command will allow you to view your user's infoforms.  You
  765.           may choose to look at only one infoform for one user or all
  766.           infoforms for all users, or a combination thereof.
  767.  
  768.       Deleted List
  769.           This command will invoke the Deleted List (or Blacklist) editor.
  770.  
  771.       Make User
  772.           This command will allow you to make a new user.  You can only
  773.           define a few fields for the user, but when that user first
  774.           applies, they will be prompted to fill out any mandatory
  775.           infoforms, their birthdate, and other user-specific fields.
  776.  
  777.       Level Editor
  778.           This command will invoke the parameter editor.
  779.  
  780.       Archivers
  781.           This command will invoke the archiver editor.
  782.  
  783.  
  784.       ────────────────────────────────────────────────────────────────────
  785.       Oblivion/2 v2.35 Bulletin Board System Documentation              11
  786.       Section 2                                 ACCESS CONDITIONING SYSTEM
  787.       ────────────────────────────────────────────────────────────────────
  788.  
  789.                     Section 2: ACCESS CONDITIONING SYSTEM
  790.  
  791.  
  792.       The Access Conditioning System (ACS) is a very unique and powerful
  793.       tool that many BBS systems are now utilizing.  With ACS you can
  794.       restrict baud rates, time limits, area codes, file points, as well as
  795.       the traditional user access levels.  ACS gives you, the sysop, total
  796.       control over who is accessing your system and when.
  797.  
  798.       Before you attempt to use ACS, however, you should realize that it
  799.       does not have to be a complicated thing, but can often become one.
  800.       It can seem like a programming language all on it's own.  And in some
  801.       respects it is.  If you have problems with ACS and things don't go
  802.       quite as planned the first time, try it again.  It's almost like math
  803.       in where things are processed in different places with different
  804.       conditioners...  It may take some time to get used to.
  805.  
  806.       Below is a list of valid ACS commands:
  807.  
  808.       ACS Flag               Description
  809.       ────────────────────────────────────────────────────────────────────
  810.       Ax                     True if user age is greater than X
  811.       Bx                     True if baud rate (without the trailing 00) is
  812.                               greater or equal to X.  (ie. 3, 12, 24, 48,
  813.                               96, 144, 168, 192, 384, 576)
  814.       Cx                     True if user hasn't changed his password in
  815.                               X days
  816.       Dx                     True if user file level is greater or equal
  817.                               to X
  818.       Ex                     True if user called more than X times today
  819.       Fx                     True if X flag is set in the first flagset
  820.                               (A-Z)
  821.       Gx                     True if user is male and X=0, true if user is
  822.                               female and X=1
  823.       Hx                     True if user is using menuset X
  824.       Ix                     True if user is using statset X
  825.       Jx                     True if user has ansi and X=0, true if user
  826.                               has avatar and X=1, true if user has RIP and
  827.                               X=2
  828.       Kx                     True if absolute file area # is equal to the
  829.                               value of X
  830.       Lx                     True if absolute message area # is equal to
  831.                               the value of X
  832.       Mx                     True if message conference # is equal to the
  833.                               value of X
  834.       Nx                     True if file conference # is equal to the
  835.                               value of X
  836.       Ox                     True if X flag is set in the second flagset
  837.                               (A-Z)
  838.       Px                     True if user has X file points
  839.       Qx                     True after user has called more than X times
  840.  
  841.       ────────────────────────────────────────────────────────────────────
  842.       Oblivion/2 v2.35 Bulletin Board System Documentation              12
  843.       Section 2                                 ACCESS CONDITIONING SYSTEM
  844.       ────────────────────────────────────────────────────────────────────
  845.  
  846.       Rx                     True if user total calls are greater than X
  847.       Sx                     True if user level is greater or equal to X
  848.       Tx                     True if user time left is greater than the
  849.                               value of X
  850.       Ux                     True if user number is equal to X
  851.       Vx                     True is user is on node X
  852.       Yx                     True if it is at least X minutes past
  853.                               midnight
  854.       Xy                     True if the first three numbers of the user's
  855.                               phone number match (ie. X216 holds true for
  856.                               all users in the area  code 216)  X216464
  857.                               holds true for all user's who are in area
  858.                               code 216 with the prefix 464
  859.       Zx                     True if day of the week is equal to X where X
  860.                               can be 0=Sunday through 6=Saturday
  861.       -                      False
  862.       +                      True
  863.       ()'s                   Tells Oblivion/2 to process the codes in
  864.                               parenthesis before any other codes
  865.       |                      Used to "or" what is on the left of the pipe
  866.                               with what is on the right of the pipe
  867.       ~                      Makes a code false that would otherwise be
  868.                               true and vice versa
  869.       \                      True if the Fail Flag is true
  870.       =                      True if user is local
  871.       [                      True only when system is run multinode
  872.       ]                      True if screen pausing is on
  873.       ;                      True if input is not broken using the space
  874.                               bar or the ESC key
  875.       ,                      Used to prompt for the sysop password
  876.       *                      True if user meets their Post/Call Ratio
  877.       _                      True if user is available for Multinode Chat
  878.       $x                     True if user has changed their password in X
  879.                               days (ie. $10 is true if the user changed his
  880.                               password more than 10 days ago)
  881.       :x                     True if the current message # in single
  882.                               reading is greater or equal to X
  883.       !x                     True if the current menuset number is equal
  884.                               to X
  885.       %x                     True if the current status screen set number
  886.                               is equal to X
  887.       ^x                     True if the current menu prompt number is
  888.                               equal to X
  889.  
  890.       Below are a few examples of ACS usage:
  891.  
  892.       ~U2                    The option is accessible by everyone EXCEPT
  893.                              user #2
  894.       S20D20                 The option is accessible to everyone as long
  895.                              as their main/file levels are greater or
  896.                              equal to 20
  897.  
  898.       ────────────────────────────────────────────────────────────────────
  899.       Oblivion/2 v2.35 Bulletin Board System Documentation              13
  900.       Section 2                                 ACCESS CONDITIONING SYSTEM
  901.       ────────────────────────────────────────────────────────────────────
  902.  
  903.       Y120                   The option is accessible from 2:00am until
  904.                              11:59pm
  905.       Y60~Y120               The option is accessible from 1:00am until
  906.                              2:00am
  907.       =S255                  The option is accessible only to people on the
  908.                              local terminal, and the user has a security
  909.                              level of 255
  910.       P100|S50               The option is accessible to people with 100 or
  911.                              more file points OR they have a security
  912.                              level of 50 or more.
  913.       T90|FABC               The option is accessible to people with more
  914.                              than 90 minutes left OR have flags A, B, and
  915.                              C in the first ACS flag set turned on.
  916.       B144|FA                The option is accessible to people connected
  917.                              at 14400 bps or higher, OR have flag A in the
  918.                              first ACS flag set turned on.
  919.       A18G0                  The option is accessible to people 18 years of
  920.                              age and older, who are male.
  921.       A18G1                  The option is accessible to people 18 years of
  922.                              age and older, who are female.
  923.       s20d20~U2|(U2Y60~Y120) The option is accessible to anyone with a
  924.                              security level AND a file level of 20 or
  925.                              higher, EXCEPT user #2, OR is accessible by
  926.                              user #2 between the hours of 1am and 2am.
  927.  
  928.       NOTE:  There are two different sets of user ACS flags.  The first set
  929.       is accessible by the Fx ACS flag, while the second set is accessible
  930.       by the Ox ACS flag.  These are internal flags you can use to
  931.       configure different things for different users.  When referring to
  932.       ACS flags and user ACS flags, remember that they are two different
  933.       things.  The users have two sets of user ACS flags attributed to
  934.       them, each from a range of A through Z.  Both sets of user ACS flags
  935.       can be toggled in two different ways.  The first is manually in the
  936.       User Editor, where you can toggle and view the user account while
  937.       manipulating their ACS flags.  The second is through the menuing
  938.       system and menu commands.  The menu commands for each set is as
  939.       follows:
  940.  
  941.       First set of user ACS flags:
  942.  
  943.         Command Key: -S
  944.         CString    : +ABC
  945.         Function   : Turns flags A, B, and C on.  The syntax is +x to turn
  946.                      flag x on and -x to turn flag x off.
  947.  
  948.       Second set of user ACS flags:
  949.  
  950.         Command Key: -Y
  951.         CString    : -XYZ
  952.         Function   : Turns flags X, Y, and Z off.  The syntax is +x turn
  953.                      flag x on and -x to turn flag x off.
  954.  
  955.       ────────────────────────────────────────────────────────────────────
  956.       Oblivion/2 v2.35 Bulletin Board System Documentation              14
  957.       Section 3                                              CONFIGURATION
  958.       ────────────────────────────────────────────────────────────────────
  959.  
  960.                            Section 3: CONFIGURATION
  961.  
  962.  
  963.       The main Oblivion/2 configuration is like the "central processor" of
  964.       your entire Bulletin Board System.  This is where you will define
  965.       constants for your system, things that are not varied and will remain
  966.       virtually permanent.
  967.  
  968.       The configuration system has a number of global commands you may use
  969.       to ease your editing.  CTRL-Y will clear an entire field, to advance
  970.       to the next option, use the down arrow or the ENTER key.  To go back
  971.       to the previous option, use the up arrow.  CTRL-V will toggle insert
  972.       mode on and off.  CTRL-Z is the command to exit from the
  973.       configuration menus.
  974.  
  975.       Each menu in the configuration system deals with a different aspect
  976.       of your BBS.  Use your arrow keys to scroll your way through the
  977.       menus.
  978.  
  979.  
  980.  
  981.       3.1: System Information
  982.  
  983.       Board Name
  984.         The name of the BBS that you registered.  This must be spelled the
  985.         same as in the SERIAL.NUM file you received upon registering.
  986.  
  987.       Sysop Name
  988.         The name or alias that you registered.  This must be spelled the
  989.         same as in the SERIAL.NUM file you received upon registering.
  990.  
  991.       Validation Code
  992.         This is the serial number you received in the SERIAL.NUM file you
  993.         received upon registering.
  994.  
  995.       MultiNode Operation
  996.         This option must be set to Yes if you intend to run more than one
  997.         node.
  998.  
  999.       Node Number
  1000.         This is the node number for the current node.  Leave this at 1 if
  1001.         you are not going to be running the BBS multi-node.  This field
  1002.         must only be changed if you are not going to use the -N x command
  1003.         line parameter when loading Oblivion/2 (ie. if you use different
  1004.         executables in different directories with different configuration
  1005.         files, then set this number to the proper node number).
  1006.  
  1007.       Max. Mins before Time-Out
  1008.         This field can be anything in a range of 1 through 5.  This is the
  1009.         amount of minutes Oblivion/2 will sit idle without any keyboard
  1010.         input from the user before dropping carrier on them.
  1011.  
  1012.       ────────────────────────────────────────────────────────────────────
  1013.       Oblivion/2 v2.35 Bulletin Board System Documentation              15
  1014.       Section 3                                              CONFIGURATION
  1015.       ────────────────────────────────────────────────────────────────────
  1016.  
  1017.  
  1018.       Sysop Password
  1019.         The sysop password, which is used to protect the sysop menu and
  1020.         other definable functions.
  1021.  
  1022.       System Password
  1023.         If this is set, the user will have to enter this password before
  1024.         being able to login to the BBS.
  1025.  
  1026.       New User Password
  1027.         If this is set, the user will have to enter this password before
  1028.         being able to apply for an account (go through the new user
  1029.         process).
  1030.  
  1031.       Days to Save Log
  1032.         This field can be anything in a range of 1 through 200.  This is
  1033.         the amount of days Oblivion/2 will save the system logs before
  1034.         purging them and keeping them at this number.
  1035.  
  1036.       ScrollBack Lines
  1037.         This field can be anything in a range of 1 through 2000.  This is
  1038.         the amount of lines Oblivion/2 will keep in the scrollback buffer.
  1039.         This buffer can be accessed by the online sysop function key F4
  1040.         and can be used to look at any text or ansi that may have scrolled
  1041.         off the screen.  The higher this number is set, the more memory
  1042.         Oblivion/2 will require.  If this number is too high, Oblivion/2
  1043.         will crash with an ERROR 203 because it will have found no memory
  1044.         for it to use.  If this happens, lower this number.
  1045.  
  1046.       Page Times
  1047.         This field can be anything in a range of 1 through 100.  This is
  1048.         the number of times a user may page you before the system will
  1049.         disallow them from paging again.
  1050.  
  1051.       QWKName
  1052.         This is the filename (maximum of 8 characters) that Oblivion/2
  1053.         will place before the .QWK extension (ie. OBLIVION would produce
  1054.         OBLIVION.QWK and require OBLIVION.REP reply uploads) for QWK
  1055.         downloads.
  1056.  
  1057.       BIOS Writes
  1058.         If this option is set to Yes, the screen writes will be handled
  1059.         through the BIOS.  This is normally very slow and should not be
  1060.         used, but may improve some multitasking problems.  For normal
  1061.         options, this should remain No.
  1062.  
  1063.       Use MAINTAIN.BAT
  1064.         Refer to Section 24 for more information on this batchfile.
  1065.  
  1066.       Kick Off Unvalidated Users
  1067.         If this option is set to Yes, users who are trying to check their
  1068.  
  1069.       ────────────────────────────────────────────────────────────────────
  1070.       Oblivion/2 v2.35 Bulletin Board System Documentation              16
  1071.       Section 3                                              CONFIGURATION
  1072.       ────────────────────────────────────────────────────────────────────
  1073.  
  1074.         status and are not yet validated, will be hung up on.  If it is
  1075.         set to No, they will be allowed to return to the Matrix.
  1076.  
  1077.       Starting Menu
  1078.         This option tells Oblivion/2 which menu to go to once the
  1079.         MATRIX.MNU (your matrix) is finished with and a user is logging
  1080.         in.  This is the first menu a user will go through after logging
  1081.         into the system via the matrix.  Do not include a .MNU extension.
  1082.  
  1083.       Sysop Autologin
  1084.         If this option is set to Yes, when you load the BBS with the -L
  1085.         commandline (local) you will be automatically logged into the
  1086.         system.
  1087.  
  1088.       Turn Status Line On
  1089.         If this option is set to Yes, the sysop status line (appearing on
  1090.         line 25 of your local screen) will be turned on.  This status line
  1091.         gives important information about the current user.
  1092.  
  1093.       Special Login
  1094.         If this option is set to Yes, you can define how user logins are
  1095.         processed.  Leaving this at No will make Oblivion/2 use the
  1096.         default login.  This is a nice option to use as you can configure
  1097.         the user login process completely.  You can put it any order you
  1098.         want, make it look however you like, it's entirely up to you.  The
  1099.         BBS will go to the menu defined in the Starting Menu (above; the
  1100.         default is TOP.MNU) after the user logs in.
  1101.  
  1102.        The following is a menu re-creation of Oblivion/2's default login
  1103.        process:
  1104.  
  1105.           Command Key: -+
  1106.           Function   : Displays a random WELCOME.x file.
  1107.  
  1108.           Command Key: -N
  1109.           CString    : STATUS.ANS
  1110.           Function   : Displays STATUS.ANS from the current Stat Screen
  1111.                        Library (this is the login status screen).
  1112.  
  1113.           Command Key: -(
  1114.           Function   : Prompts the user to hit return.
  1115.  
  1116.           Command Key: -@
  1117.           Function   : Reads system notices.
  1118.  
  1119.           Command Key: &]
  1120.           ACS        : [
  1121.           Function   : Sets user as not available for multinode chat IF
  1122.                        multinode operations are on.
  1123.  
  1124.           Command Key: &A
  1125.  
  1126.       ────────────────────────────────────────────────────────────────────
  1127.       Oblivion/2 v2.35 Bulletin Board System Documentation              17
  1128.       Section 3                                              CONFIGURATION
  1129.       ────────────────────────────────────────────────────────────────────
  1130.  
  1131.           ACS        : [&
  1132.           Function   : Asks user whether he wants to be available for
  1133.                        multinode chat or not IF multinode operations are
  1134.                        on AND
  1135.  
  1136.           Command Key: EN
  1137.           Function   : Scans for new personal Email.
  1138.  
  1139.           Command Key: -|
  1140.           Function   : Checks for incomplete infoforms.
  1141.  
  1142.           Command Key: MZ
  1143.           Function   : Scans for new messages in mandatory message
  1144.                        areas.
  1145.  
  1146.           Command Key: VC
  1147.           Function   : Checks for unanswered mandatory voting questions.
  1148.  
  1149.           Command Key: -_
  1150.           Function   : Pages sysop if user has the Wanted flag on.
  1151.  
  1152.  
  1153.  
  1154.       3.2: System Information 2
  1155.  
  1156.       Library Data Ansis
  1157.         If this option is set to Yes, all the ansis for the data areas
  1158.         will be looked for in the status screen libraries.  If it is set
  1159.         to No, the ansis will be looked for in the textfile directory.
  1160.         However, if the BBS cannot find the correct data area ansis in the
  1161.         user's current status screen library (and this option is set to
  1162.         Yes) it will automatically search for those ansis in the textfile
  1163.         directory.
  1164.  
  1165.       Search All Areas
  1166.         If this option is set to Yes, the BBS will check all of the file
  1167.         areas on the BBS for duplicate files when you are globally
  1168.         uploading or adding files.  With this option enabled, uploads may
  1169.         take a little longer, but there is no risk of having the same file
  1170.         in two different file areas on the BBS.  If this option is set to
  1171.         No, only the current file area will be searched for duplicates.
  1172.  
  1173.       Use U/L Checker
  1174.         If this option is set to Yes, when files are uploaded to the
  1175.         board, they will be checked with the internal upload checker.  See
  1176.         Section 24 for more information on the upload checker.
  1177.  
  1178.       Day Constraint
  1179.         This field can be anything in the range of 0 to 5000.  This
  1180.         setting defines, by number of days, the oldest files that can be
  1181.         sent to the system.  For example, if this field was set to 365
  1182.  
  1183.       ────────────────────────────────────────────────────────────────────
  1184.       Oblivion/2 v2.35 Bulletin Board System Documentation              18
  1185.       Section 3                                              CONFIGURATION
  1186.       ────────────────────────────────────────────────────────────────────
  1187.  
  1188.         days, anything older than one year (by newest file date) will fail
  1189.         the internal upload checker's Age Test.  A setting of 0 will
  1190.         disable this option.
  1191.  
  1192.       Scan Command
  1193.         This is the command line used by the internal upload checker to
  1194.         scan new uploads for viruses.  You can also call a batchfile
  1195.         instead of an executable.  When uploads are sent to the BBS, they
  1196.         are unarchived into the defined work directory (ie. C:\OBV\WORK).
  1197.         If the system is run multinode, the work directory is different
  1198.         for each node.  C:\OBV\WORK\1 for node 1, C:\OBV\WORK\2 for node
  1199.         2, etc.  It is suggested that when you define the virus scan
  1200.         command, that you use the wildcard C:\OBV\WORK\*.* and any other
  1201.         commandline the virus scanner needs to scan all subdirectories as
  1202.         well.  This will insure, that no matter what node you or the user
  1203.         is on, the scanner will scan all directories and will get the
  1204.         uploaded file.
  1205.  
  1206.       BBS Ad to Add
  1207.         You can define a file to be inserted into every archive uploaded
  1208.         with this command.  Define the full path and filename of the file
  1209.         you wish inserted.  This can be a loader, textfile, or any other
  1210.         file you wish.  For example, the file C:\OBV\CALL.ME! would be
  1211.         inserted to each uploaded archive if it was defined on this line.
  1212.  
  1213.       Zip Comment
  1214.         This is where you define the comment file to be inserted into
  1215.         uploaded archives (ZIP, ARJ, RAR, etc.).  Use the full path and
  1216.         filename.
  1217.  
  1218.       Delete List
  1219.         This is a simple text file with a list of file names you wish to
  1220.         be deleted from uploaded archives if they are found.  These are
  1221.         typically other BBS ads.  Be careful that you only insert UNIQUE
  1222.         filenames otherwise you may end up deleting an important file.
  1223.         One filename per line in the text file.
  1224.  
  1225.       Check For Free Space at WFC
  1226.         Whether the BBS will check all disk drives for the amount of free
  1227.         space each time the Waiting For Caller screen is loaded.  If this
  1228.         option is set to Yes, some LAN users may experience problems when
  1229.         running the BBS on a network.
  1230.  
  1231.       Opts Per Line
  1232.         The number of options per line the BBS should place in the generic
  1233.         menus.  This field can be anything in the range of 1 through 9.
  1234.  
  1235.       Generic in Menu Libs
  1236.         Whether or not generic menu ansis will be included in the menu set
  1237.         library files as opposed to the default of being included in the
  1238.         status screen library files.  Please refer to Section 19 for more
  1239.  
  1240.       ────────────────────────────────────────────────────────────────────
  1241.       Oblivion/2 v2.35 Bulletin Board System Documentation              19
  1242.       Section 3                                              CONFIGURATION
  1243.       ────────────────────────────────────────────────────────────────────
  1244.  
  1245.         information on generic menusets.
  1246.  
  1247.       Use File Catalog
  1248.         If this option is set to Yes, the BBS will use the File Catalog to
  1249.         do duplicate file searches upon a file being uploaded.
  1250.  
  1251.       File Catalog Look Up
  1252.         If this option is set to Yes, the BBS will use the File Catalog
  1253.         for the look up functions on various file options.  Be sure that
  1254.         if you have the File Catalog options set to Yes that you generate
  1255.         a File Catalog using the TG menu command.
  1256.  
  1257.       Conf Search
  1258.         If this option is set to Yes, the BBS will search all conferences
  1259.         for duplicate files upon a file being uploaded.
  1260.  
  1261.       Lines Per Node
  1262.         This field defines the number of lines (on the screen) per node
  1263.         for real-time multinode chat.  It may be a value between 2-12.
  1264.  
  1265.       Support RIP
  1266.         If Yes, the BBS will attempt to detect if the caller is using a
  1267.         RIP terminal.  If this is set to No, the BBS will simply check for
  1268.         Ansi, Ascii, and Avatar.
  1269.  
  1270.       Allow G and I
  1271.         Whether or not the use of the G and I commands can be used from
  1272.         the message reading menu.  These commands store message replies
  1273.         and threads, and in low memory situations can lock up the BBS if
  1274.         used.  If you experience lockups due to the use of G and I
  1275.         commands, set this to No.  In multitasking environments, it would
  1276.         be best to set this option to No regardless.
  1277.  
  1278.       Hang Up After Calls
  1279.         If Yes, the BBS will drop carrier when the user logs off or is
  1280.         disconnected.  If No, the BBS will not drop carrier until it
  1281.         cycles back to the WFC screen or until some other program (like a
  1282.         frontend mailer) toggles the modem DTR.
  1283.  
  1284.       MAINTAIN.BAT Door File
  1285.         If this option is set to Yes, the BBS will generate a DORINFO1.DEF
  1286.         dropfile before MAINTAIN.BAT is run on files.
  1287.  
  1288.  
  1289.  
  1290.       3.3: System Information 3
  1291.  
  1292.       Swap to EMS
  1293.         If set to Yes, the BBS will swap to EMS memory instead of to disk
  1294.         or XMS memory.
  1295.  
  1296.  
  1297.       ────────────────────────────────────────────────────────────────────
  1298.       Oblivion/2 v2.35 Bulletin Board System Documentation              20
  1299.       Section 3                                              CONFIGURATION
  1300.       ────────────────────────────────────────────────────────────────────
  1301.  
  1302.       Swap to XMS
  1303.         If set to Yes, the BBS will swap to XMS memory instead of to disk
  1304.         or EMS memory.
  1305.  
  1306.       Open/Close FDF
  1307.         If this option is set to Yes, the BBS will open and close the File
  1308.         Description File while doing file listings.  This option is a
  1309.         little slower, but may prevent problems in a multitasking
  1310.         environment.  If the system is an active multinode system, this
  1311.         should be set to Yes.
  1312.  
  1313.       Give up Time Slices
  1314.         Whether or not Oblivion/2 should give up Time Slices in a
  1315.         multitasking environment.  This should be set to Yes if
  1316.         multitasking.
  1317.  
  1318.       Inform Nodes
  1319.         Whether or not the BBS should alert online users to another user
  1320.         logging on the BBS on another node.
  1321.  
  1322.       Use Xfer Line
  1323.         The field may contain a number between 1 and 25.  This is the line
  1324.         on which the message text "User is uploading/downloading" will
  1325.         appear on the local monitor.  This is more cosmetic than anything
  1326.         else.
  1327.  
  1328.       Use Chat Log
  1329.         Whether or not you wish to log all sysop to user chats.  If set to
  1330.         Yes, the chat log is opened automatically upon entering sysop to
  1331.         user chat mode.
  1332.  
  1333.       Rename Files
  1334.         Whether or not the BBS should use the DOS RENAME command when
  1335.         moving files from one directory to another.
  1336.  
  1337.       Use COPY
  1338.         Whether or not the BBS should use the DOS COPY command when moving
  1339.         files from one directory to another.
  1340.  
  1341.       Multinode Friendly Ops
  1342.         If this option is set to Yes, all transfers will be done through
  1343.         the work directory (to insure that each node is accessing a
  1344.         different directory).  All files will be sent to the node's work
  1345.         directory, and all files will be sent from that directory as well.
  1346.         Please note that files will not be sent to the work directory for
  1347.         bidirectional transfers.
  1348.  
  1349.       No Device Check
  1350.         Whether or not the BBS should use BIOS checks to see if the user
  1351.         is accessing a device driver.  Some methods of locking boards is
  1352.         to get the board to access a device driver (ie. CON, etc.).  The
  1353.  
  1354.       ────────────────────────────────────────────────────────────────────
  1355.       Oblivion/2 v2.35 Bulletin Board System Documentation              21
  1356.       Section 3                                              CONFIGURATION
  1357.       ────────────────────────────────────────────────────────────────────
  1358.  
  1359.         BBS uses BIOS checks to see if certain filenames correspond to a
  1360.         device driver name.  However, this BIOS checking may lock up some
  1361.         OS/2 setups.  This option should be set to Yes ONLY if you have
  1362.         experienced said lockups.  If not, and by default, this option
  1363.         should be left to No, meaning that the BBS will continue to do
  1364.         it's BIOS device checks.
  1365.  
  1366.       Inform on Logoff
  1367.         Whether or not the system should inform online users that another
  1368.         user on another node has logged off.
  1369.  
  1370.       Auto Val New Users
  1371.         Whether or not the system should automatically validated new users
  1372.         during the application process.  If set to Yes, they will be given
  1373.         the default access level (defined in Val User/Nuv Config (Section
  1374.         3.12)).  If set to No, they will remain at level 1 and be
  1375.         unvalidated pending manual sysop validation or NUV validation.
  1376.  
  1377.  
  1378.  
  1379.       3.4: Look and Feel
  1380.  
  1381.       Hidden Input Character
  1382.         This is where you define the character that you want displayed
  1383.         anytime a user has to enter hidden input (ie. passwords, etc.).
  1384.         Most typically this character is ALT-254 (■) or a decimal (.).
  1385.  
  1386.       Top Ten Bar Character
  1387.         This is where you define the character that you want displayed
  1388.         when the top ten listings are displayed.  This character will make
  1389.         up the segments of the bar showing certain values.  Again, it is
  1390.         typically ALT-254 (■).
  1391.  
  1392.       Use Quote Header
  1393.         If Yes, when someone is replying to a message and quotes part of
  1394.         it, the text defined in the quote header/footer strings (absolute
  1395.         prompt numbers 154 and 155) will be placed before and after the
  1396.         quoted segment.  If No, no headers or footers will be inserted
  1397.         when a user is quoting.
  1398.  
  1399.       Use Greater Than Sign
  1400.         If Yes, when quoting, the BBS will place a Greater Than sign (>)
  1401.         before the quoted text.  If not, there will be no character placed
  1402.         before the quoted text and it will be placed flush against the
  1403.         left margin.
  1404.  
  1405.       Use Prelogon
  1406.         If Yes, the BBS will display PRELOGON.x ansis before the user is
  1407.         prompted for his alias and password.  These ansis should be in
  1408.         your textfile directory.
  1409.  
  1410.  
  1411.       ────────────────────────────────────────────────────────────────────
  1412.       Oblivion/2 v2.35 Bulletin Board System Documentation              22
  1413.       Section 3                                              CONFIGURATION
  1414.       ────────────────────────────────────────────────────────────────────
  1415.  
  1416.       Use Welcome
  1417.         If Yes, the BBS will display WELCOME.x ansis after the user has
  1418.         entered in his alias and password.  These ansis are found in your
  1419.         textfile director.
  1420.  
  1421.       External Message Help
  1422.         If Yes, the BBS will display the file MESHELP.ANS in your textfile
  1423.         directory as opposed to displaying the internal message help (seen
  1424.         when the user presses ? at the message reading prompt).
  1425.  
  1426.       External File Help
  1427.         If Yes, the BBS will display the file FILEHELP.ANS in your
  1428.         textfile directory as opposed to displaying the internal file help
  1429.         (seen when the user presses ? at the file listing prompt).  Both
  1430.         FILEHELP.ANS and MESHELP.ANS can also be placed in status screen
  1431.         libraries.
  1432.  
  1433.       Yes/No Shown in App
  1434.         If set to Yes, in the new user application process, a "(Y/n)" will
  1435.         be shown at the end of your prompts for the questions asking "Use
  1436.         ansi?" and "Use avatar?" and "Use yes/no bars?".  If this is set
  1437.         to No, the "(Y/n)" will not be shown.  This is useful if you are
  1438.         using ansis or animation in your new user login and you don't want
  1439.         the display messed up by the BBS appending a "(Y/n)" at the end of
  1440.         any strings.
  1441.  
  1442.  
  1443.  
  1444.       3.5: Communication Information
  1445.  
  1446.       The following are modem commands that Oblivion/2 will recognize:
  1447.  
  1448.           |        Enter
  1449.           ~        Pause
  1450.           ,        Pause
  1451.           +++      Used to put modem in command mode
  1452.  
  1453.       COM Port
  1454.         This is the COM port that the modem is sitting on.  You may enter
  1455.         in 0-4 where 0=local and 1-4=COM ports 1-4.
  1456.  
  1457.       Man. Answer
  1458.         If this option is set to Yes, Oblivion/2 will monitor the carrier
  1459.         pin on your serial card.  When this pin signals true (meaning the
  1460.         phone is ringing), it will send the answer string.  This method is
  1461.         faster than waiting for the RING message to come from the modem.
  1462.         However, this option does not work with all modems so you will
  1463.         need to experiment to see if it works for you.
  1464.  
  1465.       Init Str
  1466.         This is the initialization string Oblivion/2 sends to the modem
  1467.  
  1468.       ────────────────────────────────────────────────────────────────────
  1469.       Oblivion/2 v2.35 Bulletin Board System Documentation              23
  1470.       Section 3                                              CONFIGURATION
  1471.       ────────────────────────────────────────────────────────────────────
  1472.  
  1473.         when the software is loaded up at the WFC screen.
  1474.  
  1475.       HangUp Str
  1476.         This is the string used to hang up the phone (toggle DTR).
  1477.  
  1478.       Off Hook Str
  1479.         This is the string used to take the phone off the hook.
  1480.  
  1481.       Send Car. Str
  1482.         This string is sent when you want to send carrier.  This is
  1483.         typically used if a user is in his terminal program and you want
  1484.         to switch from a voice call to a data call.  The user will receive
  1485.         carrier (usually ATX1D) and you will send it (usually ATA).
  1486.  
  1487.       Rec Car. Str
  1488.         This string is the opposite of the one above, as it will receive
  1489.         carrier, but the same principles apply.  This string is usually
  1490.         ATX1D.
  1491.  
  1492.       Default Baud
  1493.         The baudrate that your COM port is locked at.  You may select any
  1494.         value from 110 through 57600.
  1495.  
  1496.       Min. Baud
  1497.         This is the minimum baudrate a user must connect at to access the
  1498.         board.  Below this baudrate, the caller will be asked for the Baud
  1499.         Lockout Password (if defined) or hung up on if not defined.  It
  1500.         can be anything from 110 to 38400.
  1501.  
  1502.       Lock Out Pass
  1503.         This is the Baud Lockout Password.  If the minimum allowable
  1504.         baudrate is 9600 and a user calls in at 2400, they will have to
  1505.         know this password to gain access to the system.  If this password
  1506.         is not defined, the BBS simply hangs up on slow callers.
  1507.  
  1508.       115.2k Locking
  1509.         If you want to lock (or have locked with a fossil driver like X00)
  1510.         your comport at 115200, set this to Yes.  It will override the
  1511.         Default Baud setting (above).  Sysops with 28.8k modems or higher
  1512.         may want to set this option to Yes to get the maximum performance
  1513.         from their modems.
  1514.  
  1515.       Wait Until Sent
  1516.         If this is set to Yes, the BBS will pause until the output buffer
  1517.         is empty after a file transfer before continuing.  This may help
  1518.         to prevent some problems with higher speed modems (28.8k).
  1519.  
  1520.       Base Address
  1521.         This is where you define the base address of the COM port to be
  1522.         used as a protocol parameter.  This field should only be filled in
  1523.         if you are using a nonstandard comport.
  1524.  
  1525.       ────────────────────────────────────────────────────────────────────
  1526.       Oblivion/2 v2.35 Bulletin Board System Documentation              24
  1527.       Section 3                                              CONFIGURATION
  1528.       ────────────────────────────────────────────────────────────────────
  1529.  
  1530.  
  1531.       IRQ Number
  1532.         This is where you define the IRQ number (from 0 to 15) of the COM
  1533.         port to be used as a protocol parameter.  This field should only
  1534.         be set to other than 0 if you are using a nonstandard comport.
  1535.  
  1536.  
  1537.  
  1538.       3.6: Filename Configuration
  1539.  
  1540.       BBS Directory
  1541.         This is the directory where you store the BBS executables.
  1542.  
  1543.       Text Directory
  1544.         This is the directory where you store the message text files (the
  1545.         files that store the actual text for all the message areas).
  1546.  
  1547.       Board Directory
  1548.         This is the directory where the files defining the message bases
  1549.         are stored.
  1550.  
  1551.       File Directory
  1552.         This is the directory where the files defining the file bases and
  1553.         storing file information (size, descriptions, etc.) are stored.
  1554.  
  1555.       Data Directory
  1556.         This is where Oblivion/2 stores it's data files.
  1557.  
  1558.       Menu Directory
  1559.         This is where the menu files (*.MNU) that are the underlying
  1560.         structure of the BBS are stored.
  1561.  
  1562.       Work Directory
  1563.         This is the temporary directory that the BBS uses to store message
  1564.         captures, creates QWK packets, etc.  Note that under multinode
  1565.         operations, subdirectories are created.  Ie, if this field was
  1566.         C:\OBV\WORK and the system was run multinode, node 1's work
  1567.         directory would be C:\OBV\WORK\1, node 2 would be C:\OBV\WORK\2,
  1568.         and so forth.
  1569.  
  1570.       TextFile Directory
  1571.         This is the directory where all of the BBS textfiles (ansis,
  1572.         asciis, RIP, etc.) are stored.
  1573.  
  1574.       File Mail Directory
  1575.         When a user sends filemail (file attaches to email) to another
  1576.         user, the files are stored in this directory.
  1577.  
  1578.       Log Directory
  1579.         This is where Oblivion/2 writes all of it's logs.
  1580.  
  1581.  
  1582.       ────────────────────────────────────────────────────────────────────
  1583.       Oblivion/2 v2.35 Bulletin Board System Documentation              25
  1584.       Section 3                                              CONFIGURATION
  1585.       ────────────────────────────────────────────────────────────────────
  1586.  
  1587.       Door Directory
  1588.         This is where the door executables (batch files) should be stored.
  1589.         However, under multinode operations, subdirectories are created
  1590.         for each node in the same manner as the work directory (\1, \2,
  1591.         etc.).  The batch files for each node should be in their own
  1592.         directory, as depending on which node the user is on will reflect
  1593.         which directory Oblivion/2 looks for for the batch files.  Please
  1594.         see OBV.FAQ for more information on setting up Doors with
  1595.         Oblivion/2.
  1596.  
  1597.       Swap Directory
  1598.         This is the directory Oblivion/2 uses for it's memory swapping.
  1599.         Under multinode operations, subdirectories are created in the same
  1600.         manner as with the work and doors directories.
  1601.  
  1602.       Bad Directory
  1603.         This is where the BBS will place all files that have failed the
  1604.         upload checker.
  1605.  
  1606.       MultiNode Directory
  1607.         This is where the BBS stores all of it's multinode files (only
  1608.         used under multinode operations).
  1609.  
  1610.       Prompts Directory
  1611.         This is where the textfiles (ansis) that are displayed in prompts
  1612.         (See Section 11 for more information on this) are stored.
  1613.  
  1614.       DSZ Log
  1615.         This is the name of the DSZ logfile.  Put in the full path and
  1616.         name of the file without the three character extension (ie.
  1617.         C:\OBV\DSZLOG.).  The BBS will append the node number as the
  1618.         extension to the file (node 1=DSZLOG.1, node 2=DSZLOG.2, etc.).
  1619.         Be sure that you SET the DSZLOG environment variable for each node
  1620.         to correspond to the filename defined here.  See Section 1.4.2 for
  1621.         more information.
  1622.  
  1623.  
  1624.  
  1625.       3.7: ACS Configuration / ACS Configuration 2
  1626.  
  1627.       In the two ACS Configuration menus, all ACS commands (see Section 2)
  1628.       are applicable and may be used here.
  1629.  
  1630.       Post Anon ACS
  1631.         ACS required to post anonymous in any message base.
  1632.  
  1633.       Sysop ACS
  1634.         ACS required to be a full sysop.  When you have this ACS you will
  1635.         be able to access all sysop commands (unless otherwise changed by
  1636.         menu editing).
  1637.  
  1638.  
  1639.       ────────────────────────────────────────────────────────────────────
  1640.       Oblivion/2 v2.35 Bulletin Board System Documentation              26
  1641.       Section 3                                              CONFIGURATION
  1642.       ────────────────────────────────────────────────────────────────────
  1643.  
  1644.       Mes. Sysop ACS
  1645.         ACS required to have access to the message sponsor commands.
  1646.         Again, this can be overridden by menu editing.
  1647.  
  1648.       File Sysop ACS
  1649.         ACS required to have access to the file sponsor commands.
  1650.  
  1651.       Exec in MiniDos
  1652.         ACS required to use the *COMMAND or &COMMAND commands in the
  1653.         MiniDos.  *COMMAND will execute COMMAND after performing a DOS
  1654.         shell.  This can be used to run PKZIP or other files from the
  1655.         MiniDos.  &COMMAND will execute COMMAND without performing a DOS
  1656.         shell.  This can be used to run commands that are internal to
  1657.         COMMAND.COM (ie. DEL, ERASE, COPY, etc.).  To run DEL without a
  1658.         DOS shell you would issue &DEL, to run PKZIP in a DOS shell, you
  1659.         would issue *PKZIP.
  1660.  
  1661.       Post Mandatory
  1662.         ACS required to post a message in a mandatory (generally news/
  1663.         announcements) base.
  1664.  
  1665.       //\\ Usage ACS
  1666.         ACS required to use the //\\COMMAND codes.  This should be set to
  1667.         sysop only as this is a powerful command.  It can be accessed at
  1668.         any menu with a prompt, regardless of where you are, and it can
  1669.         process any menu command.  For example, typing //\\*T at a menu
  1670.         prompt would be the same as accessing the menu command *T (Text
  1671.         Editor) from the sysop menu.  If it is a valid menu command, the
  1672.         user will be able to access it if he meets the ACS requirement.
  1673.  
  1674.       FileMail ACS
  1675.         ACS required to send filemail (file attachments to email).
  1676.  
  1677.       Reply Receipt ACS
  1678.         ACS required to request a receipt to email.  If a user meets this
  1679.         ACS requirement and selects Yes to receive the receipt, he will be
  1680.         notified in the system notices when the user to whom the email is
  1681.         addressed reads the email.
  1682.  
  1683.       Top Ten Exempt ACS
  1684.         ACS required to be exempt (excluded) from the Top Ten listings.
  1685.  
  1686.       Ask Availability ACS
  1687.         ACS required to be asked about MultiNode chat availability.  A
  1688.         user that meets this ACS requirement will be able to choose
  1689.         whether or not he is "available" for multinode chat.
  1690.  
  1691.       //\\xx Usage ACS
  1692.         ACS required to use specific //\\xx commands where xx is of type
  1693.         -? (control), &? (multinode), {? (matrix), !? (global newscan), [?
  1694.         (main menu), .? (door), *? (sysop), ^? (new user voting), C?
  1695.  
  1696.       ────────────────────────────────────────────────────────────────────
  1697.       Oblivion/2 v2.35 Bulletin Board System Documentation              27
  1698.       Section 3                                              CONFIGURATION
  1699.       ────────────────────────────────────────────────────────────────────
  1700.  
  1701.         (conference editor), D? (data area), E? (email), F? (file), J?
  1702.         (join conference), M? (message), Q? (qwkmail), R? (top ten), S?
  1703.         (message sponsor), T? (file sponsor) or V? (voting).  These may be
  1704.         set at different ACS settings for different users (ie. allowing
  1705.         file sysops access to //\\T? but not anything else).
  1706.  
  1707.       Hidden Files ACS
  1708.         ACS required to see hidden files in the MiniDos.
  1709.  
  1710.       Change Directory ACS
  1711.         ACS required to change directories in the MiniDos.
  1712.  
  1713.  
  1714.  
  1715.       3.8: File Section
  1716.  
  1717.       K for each point
  1718.         This is used to establish a file point ratio.  This field tells
  1719.         the BBS how many K each point is worth.  It can be anything from
  1720.         0-1000.  For example, if this field was 10, each 10k would be
  1721.         worth a file point (a 200k file would be worth 20 file points).
  1722.  
  1723.       Ext. File Area List
  1724.         If you wish to use an external file area ansi (either a straight
  1725.         ansi or using the repeat method) select Yes.  If this option is
  1726.         No, the BBS will use an internal listing method.
  1727.  
  1728.       Repeat Method
  1729.         If your external area listing is using the Repeat Method, select
  1730.         Yes.  Please refer to Section 27 for instructions on how to
  1731.         create Repeat Method ansis.
  1732.  
  1733.       Use FP Commission
  1734.         If this option is set to Yes, a file point commission system is
  1735.         enabled.  What this does is give the uploader a percentage back of
  1736.         the file's file point worth when someone downloads his file.  This
  1737.         encourages good uploads, because if someone uploads a good file
  1738.         that 20 people download, he gets X times 20 amount of file points
  1739.         credited to his account for merely having uploaded a good file.
  1740.         If no one downloads the file, the uploader gets no extra credits.
  1741.  
  1742.       Percent Commission
  1743.         Percentage of the total file points the uploader will receive
  1744.         again when someone downloads his file.  For example, if a 100k
  1745.         file was worth 10 file points, and the percent commission was 50%,
  1746.         the uploader would receive 5 file points credited to their
  1747.         account.  Valid ranges are 1 through 1000.
  1748.  
  1749.       Times Point Back
  1750.         The amount of file points the uploader receives for uploading a
  1751.         file.  If each 10k of a file was worth 1 file point and the
  1752.  
  1753.       ────────────────────────────────────────────────────────────────────
  1754.       Oblivion/2 v2.35 Bulletin Board System Documentation              28
  1755.       Section 3                                              CONFIGURATION
  1756.       ────────────────────────────────────────────────────────────────────
  1757.  
  1758.         uploader sent a 100k file, the file would be worth 10 file points.
  1759.         If this field was set to 2 (meaning double the points back), the
  1760.         uploader would receive 20 file points for uploading a file worth
  1761.         10 file points.  Valid ranges are 0 through 10.
  1762.  
  1763.       Desc Form 1-8
  1764.         This feature allows you to append any miscellaneous information to
  1765.         file descriptions through the use of certain MCI codes.  See
  1766.         Section 28.4 for a listing of the MCI codes.  You can define up to
  1767.         8 lines of information to be appended to a description.  Desc Form
  1768.         1 will be the line following the last line of the description
  1769.         (whether entered manually by the user or imported from a
  1770.         FILE_ID.DIZ).
  1771.  
  1772.       Lines of Ext. Desc
  1773.         This tells the BBS how many lines of extended description is
  1774.         permitted for the user to enter.  This option has no bearing on
  1775.         FILE_ID.DIZ description imports as the BBS will import as many
  1776.         lines as are in the actual DIZ file.  Valid ranges are 1-7.
  1777.  
  1778.       Percent Time Back
  1779.         This tells the BBS how much time to give back to the user after an
  1780.         upload (in a percentage).  If this was set to 100 (100%) the user
  1781.         would get the same amount of time it took to upload a file,
  1782.         credited to their account.  Valid ranges are 1-500.
  1783.  
  1784.       Autovalidate Files
  1785.         If set to Yes, all uploads will be automatically validated and
  1786.         will be available for immediate download.  If set to No, all files
  1787.         will be flagged with a NEW status and must be manually validated.
  1788.  
  1789.       Min. K For Upload
  1790.         The minimum free space (in K) to allow uploads to the system.  If
  1791.         the amount of free space on your hard drive is equal to, or less
  1792.         than, this amount, uploads will be refused.  Valid ranges are
  1793.         1-20000.  Remember that this is in K, so a value of 200 would mean
  1794.         at 200k or less free space, uploads will be refused.
  1795.  
  1796.       Use Average CPS
  1797.         If set to Yes, time estimates for transfers will be made on the
  1798.         Average CPS rate of the user (based on previous transfers, and
  1799.         stored in the user's account).  If set to No, time estimates will
  1800.         be made based on the connected baudrate.
  1801.  
  1802.       Extract Percentage
  1803.         When a user extracts a file, he is charged the file size
  1804.         multiplied by the percentage in this field (in file points or file
  1805.         size, depending on which is used).  For example, if a user
  1806.         extracted a 100k file, and this field was set at 60 (60%), the
  1807.         user would be charged 60k for the extraction.  If file points are
  1808.         used, the extraction percentage is multiplied by 1 divided by the
  1809.  
  1810.       ────────────────────────────────────────────────────────────────────
  1811.       Oblivion/2 v2.35 Bulletin Board System Documentation              29
  1812.       Section 3                                              CONFIGURATION
  1813.       ────────────────────────────────────────────────────────────────────
  1814.  
  1815.         total number of file points (at a value of 60% this would be
  1816.         60x(1/10) if the file was 100k and each 10k was 1 file point).  To
  1817.         be clearer:
  1818.  
  1819.           Charge in K for a value of 60% on a 100k file:
  1820.  
  1821.               (Extract % (as a decimal of 100%))x(file size)
  1822.               0.6x100 = 60 or 60k charged
  1823.  
  1824.           Charge in FPs for a value of 60% on a 100k file where 10k=1 FP:
  1825.  
  1826.               (Extract % (as whole number))x(1/file's FP value)
  1827.               60x(1/10) or 60x0.1 = 6 or 6 file points charged
  1828.  
  1829.         Valid range is from 1-2000 (1% to 2000%).
  1830.  
  1831.  
  1832.  
  1833.       3.9: Email Information
  1834.  
  1835.       Allow File Mail
  1836.         If set to Yes, filemail is permitted on the system, however the
  1837.         ACS restrictions still apply (see Section 3.7).
  1838.  
  1839.       Days to keep File Mail
  1840.         The amount of days file mail is allowed to remain on the system
  1841.         before it is auto-purged.  If a user hasn't picked up his filemail
  1842.         in this time, the filemail is deleted.  Valid ranges are 1-10.
  1843.  
  1844.  
  1845.  
  1846.       3.10: Message Section
  1847.  
  1848.       External Base Listing
  1849.         If you wish to use an external message area listing (either a
  1850.         straight ansi or using the repeat method), select Yes.  If you
  1851.         select No, Oblivion/2's default internal listing method will be
  1852.         used instead.
  1853.  
  1854.       Use Repeat Method
  1855.         If your external message area listing ansis are using the Repeat
  1856.         Method, select Yes.  Please refer to Section 27 for instructions
  1857.         on how to create Repeat Method ansis.
  1858.  
  1859.       QWKMail Time Left Check
  1860.         If this option is set to Yes, the BBS will check to see if the
  1861.         user will have enough time to download their QWK packet (it takes
  1862.         the size of the QWK packet and the speed of the connection to
  1863.         determine if enough time is left).  If the user does not have
  1864.         enough time, the BBS will not allow them to download the QWK
  1865.         packet.  If this option is set to No, the BBS will allow them to
  1866.  
  1867.       ────────────────────────────────────────────────────────────────────
  1868.       Oblivion/2 v2.35 Bulletin Board System Documentation              30
  1869.       Section 3                                              CONFIGURATION
  1870.       ────────────────────────────────────────────────────────────────────
  1871.  
  1872.         download their QWK packet regardless of how much time the user has
  1873.         left.
  1874.  
  1875.  
  1876.  
  1877.       3.11: Color Configuration
  1878.  
  1879.       This is where you can define your BBS's system colors.  There are
  1880.       six different main colors that are used for various different parts
  1881.       of the BBS.  These are Regular, Prompt, Input, Inverse, Status, and
  1882.       Box.  You may have to play with the color configuration a bit to get
  1883.       it to a system that you like.  These are the DEFAULT colors given to
  1884.       users.  However, if you allow them to, they can change these colors
  1885.       for their own account to be different so that the BBS will display
  1886.       different colors to them and only them.
  1887.  
  1888.  
  1889.  
  1890.       3.12: Val User/NUV Configuration
  1891.  
  1892.       Oblivion/2 has a unique way of handling user validation.  Instead
  1893.       of the traditional sysop validation or automatic validation,
  1894.       Oblivion/2 allows the current USERS (or anyone else the sysop
  1895.       defines) to vote on new applicants.  This is much like a voting
  1896.       booth, but instead of voting on questions, the users can vote on new
  1897.       users.  This can take some of the stress of new applicants to the
  1898.       system off of the sysop.  Of course, the sysop may choose not to use
  1899.       NUV (New User Voting) and validate users himself, use automatic
  1900.       validation, or give access to NUV to certain users or co-sysops.  As
  1901.       with all other aspects of Oblivion/2, this is totally configurable.
  1902.  
  1903.       Default Flags
  1904.         These are the default user ACS flags that are given to new users
  1905.         upon validation (either automatic, manual, or through the NUV
  1906.         process).  These flags are of the FIRST user ACS flag set.
  1907.  
  1908.       Default Level
  1909.         This is the default security level given to new users upon
  1910.         validation.  It can be in the range of 1 through 255.
  1911.  
  1912.       Default File Level
  1913.         This is the default file level given to new users upon validation.
  1914.         It can be in the range of 1 through 255.
  1915.  
  1916.       Default File Points
  1917.         This is the number of file points given to new users upon
  1918.         validation.  It can be in the range of 1 through 32767.
  1919.  
  1920.       Default U/D Ratio
  1921.         This is the default upload/download ratio given to new users upon
  1922.         validation.  It can be in the range of 1 through 200.  This value
  1923.  
  1924.       ────────────────────────────────────────────────────────────────────
  1925.       Oblivion/2 v2.35 Bulletin Board System Documentation              31
  1926.       Section 3                                              CONFIGURATION
  1927.       ────────────────────────────────────────────────────────────────────
  1928.  
  1929.         is how many files they can download for 1 upload.  For example, a
  1930.         value of 10 would make a 1:10 U/D ratio (10 downloads for one
  1931.         upload).
  1932.  
  1933.       Default U/D K Ratio
  1934.         This is the default upload/download kbyte ratio given to new users
  1935.         upon validation.  It can be in the range of 1 through 200.  This
  1936.         value is how many kbytes they can download for 1k uploaded.  A
  1937.         value of 10 would make a 1:10 U/Dk ratio (10k download for 1k
  1938.         upload).
  1939.  
  1940.       D/L K Per Day
  1941.         This is the default amount of kbytes a user can download in one
  1942.         day.  It can be in the range of 0 through 32767 (0k through 32.767
  1943.         megs).
  1944.  
  1945.       Default PCR
  1946.         This is the default Post/Call Ratio a user is given upon
  1947.         validation.  For a PCR of 50%, a user must post 1 message every 2
  1948.         calls.  The formula for PCR calculation is:
  1949.  
  1950.           (PCR (in decimal form))x(amount of calls)=(posts needed)
  1951.  
  1952.           For example, a PCR of 25% and 12 calls would give:
  1953.  
  1954.               .25x12 = 3 or 3 messages to post
  1955.  
  1956.         This would mean that a user who called 12 times, with a PCR of
  1957.         25% would have to post 3 messages to meet his Post/Call Ratio.
  1958.         This is a good way of restricting access to doors or files if the
  1959.         user does not post any messages.  Use it in conjunction with the *
  1960.         ACS code.  This can be in the range of 0 through 500, where 0 will
  1961.         disable the PCR.
  1962.  
  1963.       Default U/L CPS
  1964.         This is the default upload CPS rate given to new users upon
  1965.         validation.  If you use the average CPS rate in the user's
  1966.         account, this is a good setting to set.  If you don't use it, it
  1967.         doesn't matter.  See Section 3.8 for more information on average
  1968.         user CPS.  This can be in the range of 0 through 3000, but should
  1969.         be set at 1000 or 1440.
  1970.  
  1971.       Default D/L CPS
  1972.         Same as above, except for download CPS rate.  Again, this can be
  1973.         in the range of 0 through 3000, but should be set at 1000 or 1440.
  1974.  
  1975.       Default Time Limit
  1976.         This is the default amount of time given to new users upon
  1977.         validation.  This defines the amount of time they have on the
  1978.         board per day.  This can be in the range of 0 through 1440.
  1979.  
  1980.  
  1981.       ────────────────────────────────────────────────────────────────────
  1982.       Oblivion/2 v2.35 Bulletin Board System Documentation              32
  1983.       Section 3                                              CONFIGURATION
  1984.       ────────────────────────────────────────────────────────────────────
  1985.  
  1986.       NUV Votes to Validate
  1987.         This is the amount of new user votes needed for a user to be
  1988.         validated.  If a user gets this number of Yes votes when in the
  1989.         New User Voting process, he will be validated (and granted the
  1990.         defaults defined above).  This can be in the range of 0 through
  1991.         255.
  1992.  
  1993.       NUV Votes to Delete
  1994.         This is the amount of new user votes needed for a user to be
  1995.         deleted.  If a user gets this number of No votes when under NUV,
  1996.         he will be deleted and placed in the systems Blacklist (or deny
  1997.         list).  This can be in the range of 0 through 255.
  1998.  
  1999.       Default User Note
  2000.         All users on Oblivion/2 systems can define (or the sysop can
  2001.         define for them) a user note.  This typically states any group
  2002.         affiliations or area codes.  This is the default user note given
  2003.         to new users upon validation.
  2004.  
  2005.       Daily Flag Change
  2006.         This defines any flag changes made to a user's account on their
  2007.         first call of the day.  The format for this command is
  2008.         -FLAGS+FLAGS.  Please note that this only works with the FIRST set
  2009.         of user ACS flags.  For example, a field of -ABC+XYZ would turn
  2010.         off flags A, B, and C and turn on flags X, Y, and Z.
  2011.  
  2012.       Call Flag Change
  2013.         This defines any flag changes made to a user's account each time
  2014.         they call the board.  The format for this command is -FLAGS+FLAGS.
  2015.         Again, this will only work with the FIRST set of user ACS flags.
  2016.  
  2017.       Days to Add on Del
  2018.         This defines the number of days a new user who was denied in the
  2019.         New User Voting process will be kept in the blacklist.  This
  2020.         basically defines the number of days a user will not be able to
  2021.         apply again using the same handle they originally applied with.
  2022.         After this number of days, the user will be able to apply to the
  2023.         system again.  This can be in the range of 0 through 3650.
  2024.  
  2025.  
  2026.  
  2027.       3.13: Infoforms
  2028.  
  2029.       Infoforms are a simple way of keeping information on a user on
  2030.       record.  They can be used to ask different questions (like where
  2031.       they got the number, user references, if they run a BBS, etc.) and
  2032.       will be stored along with their user account for the sysop to view
  2033.       at any time.
  2034.  
  2035.       Making infoforms is very simple.  You can have either ansi or ascii
  2036.       infoforms.  They are both fairly simple to make, however with ansi
  2037.  
  2038.       ────────────────────────────────────────────────────────────────────
  2039.       Oblivion/2 v2.35 Bulletin Board System Documentation              33
  2040.       Section 3                                              CONFIGURATION
  2041.       ────────────────────────────────────────────────────────────────────
  2042.  
  2043.       infoforms it takes a little more time.  With ansi infoforms, you can
  2044.       also have elaborate animation to make it look nice.
  2045.  
  2046.       The following commands are universal for ansi and ascii infoforms.
  2047.       Oblivion/2 will process them, and depending on which code you use,
  2048.       act accordingly.
  2049.  
  2050.           *       Waits for a response.  This is abortable (meaning the
  2051.                   user can simply press enter and move on to the next
  2052.                   question without having to enter anything in the
  2053.                   particular field).
  2054.           |xx     Limits user input to xx spaces.  This also is abortable.
  2055.           @       Waits for a response.  This is not abortable.  If the
  2056.                   user tries to press enter without entering a response,
  2057.                   Oblivion/2 will repeat the question (will not move on to
  2058.                   the next question).
  2059.           %xx     Limits user input to xx spaces.  This also is
  2060.                   unabortable.
  2061.  
  2062.       To make an ascii infoform, simply use your favourite text editor and
  2063.       write up the infoforms (the questions).  Then insert any of the
  2064.       above codes anywhere in the text.  Because of the limitations of
  2065.       ascii infoforms, the codes (above) MUST be at the end of any given
  2066.       line, because if there is text AFTER the code, Oblivion/2 will move
  2067.       the text over and you'll get a messed up display.
  2068.  
  2069.       To make an ansi infoform, you can do the same thing as above (with
  2070.       the ascii infoforms) with the same restrictions.  However, the ansi
  2071.       color codes will be displayed and interpreted.  To make a more
  2072.       elaborate ansi infoform, with perhaps two columns or other animation
  2073.       you must use an ansi editor like TheDraw with animation
  2074.       capabilities.  Draw the infoform template first, and then turn on
  2075.       animation (in TheDraw you would use ALT-J and select the animation
  2076.       scanning method you want to use).  After TheDraw has redrawn the
  2077.       screen so that it is animate ready, insert the above interpreter
  2078.       codes where you want the user input.  You may have to play with it
  2079.       for a while before the infoform you want is read the way you want it
  2080.       read, but generally speaking, this is the process in which you would
  2081.       do it.
  2082.  
  2083.       In this part of the configuration, you have space for 5 infoforms.
  2084.       Once you have drawn up your ascii or ansi infoforms, name them
  2085.       INFOFORM.1 through INFOFORM.5 and place them in your textfile
  2086.       directory.  INFOFORM.5 is reserved for the New User Voting infoform
  2087.       (this is the infoform displayed to users voting on new users), so
  2088.       make sure you number the infoforms accordingly.
  2089.  
  2090.       You can also make certain infoforms mandatory in this section of the
  2091.       config.  Turn Mandatory on for those infoforms you want users to
  2092.       fill out before they are able to finish the new user application.
  2093.       These infoforms will be displayed automatically and must be filled
  2094.  
  2095.       ────────────────────────────────────────────────────────────────────
  2096.       Oblivion/2 v2.35 Bulletin Board System Documentation              34
  2097.       Section 3                                              CONFIGURATION
  2098.       ────────────────────────────────────────────────────────────────────
  2099.  
  2100.       out by new users before they are permitted to continue.  You can
  2101.       also give the infoforms names that will be displayed to new users
  2102.       (ie. INFOFORM.5 would be mandatory and perhaps called New User
  2103.       Voting - Shown to all users!).
  2104.  
  2105.       After your system has been up for a while, you may wish to change
  2106.       your infoforms.  Since Oblivion/2 only keeps a copy of the input in
  2107.       the infoform storage file, if you change an infoform, it will read
  2108.       in the new infoform for the background and place in the user's text
  2109.       from the old infoform on top of it (giving very strange and awkward
  2110.       results).  To prevent this, you can use the Clear Infoforms command
  2111.       in the sysop menu and clear that particular infoform (as in erase
  2112.       all of the infoform answers for that particular infoform for all
  2113.       users and reset it to unanswered).  If the infoform is mandatory,
  2114.       all of your users will be required to fill in the new infoform on
  2115.       their next login, and when you go to view infoforms, you will see
  2116.       the new answers on the new infoform ansi/ascii background.
  2117.  
  2118.       In this part of the configuration, you are only permitted to use 5
  2119.       infoforms.  However, if you feel that you need more infoforms, you
  2120.       can use different menu commands to access different infoforms.
  2121.       These infoforms can be shown to users with a specific access level
  2122.       and be restricted to other users.  These other infoforms can either
  2123.       be written to the main infoform storage file (INFOFORM.) or they can
  2124.       be written to a text file and placed into a directory of your
  2125.       choosing.  Please refer to Section 22.5.1 for more information on
  2126.       other infoform storage methods and commands.
  2127.  
  2128.  
  2129.  
  2130.       3.14: WFC Options
  2131.  
  2132.       With Oblivion/2, you can define more Waiting For Caller Options than
  2133.       those that are built in (ie. local logon, launch menu, send carrier,
  2134.       config, etc.).  These extra options are all defined by batch menus
  2135.       and are very easy to setup.  All you need is a batch file.
  2136.  
  2137.       Use WFC Batch Opts
  2138.         If Yes, a single screen will appear displaying the Batch Options
  2139.         you have defined here, that you can access using the F1 (more)
  2140.         key.  If No, the use of WFC Batch Options will be disabled.
  2141.  
  2142.       Option x Tag
  2143.         This defines the name for the particular option (ie. Pack
  2144.         Echomail).  x is the number of the Batch Option (1-9) while option
  2145.         10 is reserved for the More key.
  2146.  
  2147.       Option x Batch
  2148.         This defines the batchfile corresponding to the Tag.  The
  2149.         batchfiles must be in your main Oblivion/2 directory.  If the Tag
  2150.         was Pack Echomail, the batchfile might be called PACK.BAT.
  2151.  
  2152.       ────────────────────────────────────────────────────────────────────
  2153.       Oblivion/2 v2.35 Bulletin Board System Documentation              35
  2154.       Section 4                              OBLIVION/2 EXTERNAL UTILITIES
  2155.       ────────────────────────────────────────────────────────────────────
  2156.  
  2157.                    Section 4: OBLIVION/2 EXTERNAL UTILITIES
  2158.  
  2159.  
  2160.       There are a number of external utilities you can use with
  2161.       Oblivion/2.  These include managing your menusets, status screen
  2162.       sets, and translating ansis, just to name a few.  You will find some
  2163.       of these utilities invaluable as you create your new BBS.
  2164.  
  2165.  
  2166.  
  2167.       4.1: MenuCode
  2168.  
  2169.       Oblivion/2 allows for multiple menusets and status screen sets.
  2170.       However, before these multiple sets of ansis can be available to
  2171.       your users, you must compile them into a library.  MENUCODE.EXE will
  2172.       compile your menuset ansis into a file library that Oblivion/2 can
  2173.       read.  The commandline for MenuCode is:
  2174.  
  2175.           MENUCODE.EXE <LIB name> <target dir>
  2176.  
  2177.       Where LIB name is the name of the library file to create (ie.
  2178.       MENU1.LIB) and target dir is the directory where the uncompiled menu
  2179.       ansis are stored.  Oblivion/2 will compile all of the ansis in the
  2180.       target directory and place the finished library file (MENU1.LIB) and
  2181.       index file (MENU1.NDX) into your data directory.
  2182.  
  2183.       If a menu screen that is defined in one of your menus does not exist
  2184.       in the target directory, Oblivion/2 will inform you that the menu
  2185.       ansi is missing, but will not stop compiling the library.  Any files
  2186.       in the target directory that are NOT valid menu ansis (as defined in
  2187.       the menu (.MNU) files themselves) will not be compiled.
  2188.  
  2189.       The ansis that Oblivion/2 will be looking for are defined in the
  2190.       menu files by the HELP ID field in the menu editor.  The HELP ID
  2191.       field will take a filename (8 characters max, no extension) which
  2192.       will be displayed to users when they press the ? at a prompt.
  2193.       Promptless menus, pulldown menus, or other menus that you do not
  2194.       wish placed into the compiled menu library should have the HELP ID
  2195.       field left blank.
  2196.  
  2197.       After you have compiled your menu library, and the .LIB file and
  2198.       .NDX file are in your data directory, log into your BBS.  Go into
  2199.       the sysop menu and press "N".  This will allow you to edit either
  2200.       status screen or menu libraries.  The menu command is *S and the
  2201.       "N" command is part of the default sysop menu.  Next press "M" to
  2202.       edit the menu libraries.
  2203.  
  2204.       Option "A" will allow you to add a menuset for your users to choose
  2205.       from.  It will prompt you for a name to display to the users (ie.
  2206.       Menu Set #1) and the filename of the library (8 characters max, no
  2207.       extension).  If you do not wish to use menuset libraries, you may
  2208.  
  2209.       ────────────────────────────────────────────────────────────────────
  2210.       Oblivion/2 v2.35 Bulletin Board System Documentation              36
  2211.       Section 4                              OBLIVION/2 EXTERNAL UTILITIES
  2212.       ────────────────────────────────────────────────────────────────────
  2213.  
  2214.       enter in the Oblivion/2 textfile directory as the filename, and the
  2215.       BBS will look for the menu ansis there.  You may also define
  2216.       different directories for different menusets and point the BBS to
  2217.       those menusets.  However, using the compiled libraries is more
  2218.       efficient.  For example:
  2219.  
  2220.           Using the compiled library:
  2221.  
  2222.               Menu Name   : Menu Set #1
  2223.               Library File: MENU1
  2224.  
  2225.           Using the textfile directory:
  2226.  
  2227.               Menu Name   : Menu Set #1
  2228.               Library File: C:\OBV\TEXTFILE\
  2229.  
  2230.       If you use the textfile or multiple directories method, no LIB/NDX
  2231.       files are created and the BBS will only look in the specified
  2232.       directories for the different menusets.
  2233.  
  2234.  
  2235.  
  2236.       4.2: StatCode
  2237.  
  2238.       As with MenuCode, you may define multiple status screen sets for
  2239.       your users to choose from.  StatCode uses the same commandline as
  2240.       MenuCode:
  2241.  
  2242.           STATCODE.EXE <LIB name> <target dir>
  2243.  
  2244.       StatCode produces the same results as MenuCode.  The target
  2245.       directory is where you have placed all of the status screen ansis to
  2246.       be compiled, and LIB name is the filename of the library file (8
  2247.       characters max, no extension).  It will create the appropriate
  2248.       LIB/NDX files in your data directory.
  2249.  
  2250.       StatCode is programmed to look for the following specific files:
  2251.  
  2252.           NEWSHEAD.ANS    The News Header
  2253.           EMAILHDR.ANS    The Email Header
  2254.           HDR.ANS         The Header
  2255.           HEADER.ANS      The Message Header
  2256.         * ZIPHEAD.ANS     Internal ZIP Viewer Header
  2257.           FSEHEAD.ANS     The FullScreen Editor Header
  2258.           BCHANGE.ANS     The Base Change Header
  2259.         * SUBSRT.ANS      Sub Listing Start
  2260.         * SUBSMID.ANS     Sub Listing Repeat
  2261.         * SUBSEND.ANS     Sub Listing End
  2262.         * AREASRT.ANS     File Area Listing Start
  2263.         * AREAMID.ANS     File Area Listing Repeat
  2264.         * AREAEND.ANS     File Area Listing End
  2265.  
  2266.       ────────────────────────────────────────────────────────────────────
  2267.       Oblivion/2 v2.35 Bulletin Board System Documentation              37
  2268.       Section 4                              OBLIVION/2 EXTERNAL UTILITIES
  2269.       ────────────────────────────────────────────────────────────────────
  2270.  
  2271.         * USERSRT.ANS     User Listing Start
  2272.         * USERMID.ANS     User Listing Repeat
  2273.         * USEREND.ANS     User Listing End
  2274.           STATUS.ANS      Login Status Screen
  2275.           USERSTAT.ANS    User's Statistics Screen
  2276.           FILESTAT.ANS    User's File Statistics Screen
  2277.           FCONFIGS.ANS    File Listing Configuration Screen
  2278.           CONFSCR.ANS     User Configuration Screen
  2279.           QWKDN.ANS       QWK Downloading/Packet Creation Screen
  2280.           QWKUP.ANS       QWK REP Uploading/Posting Screen
  2281.  
  2282.       The ansis with an asterix before them are optional screens.  The
  2283.       other screens are optional as well, however they should be created
  2284.       as they are needed for the proper operation of the BBS.  Not all of
  2285.       the above "mandatory" ansis need to be compiled in the status screen
  2286.       libraries, they may be left in the textfile directory and will be
  2287.       used despite which status screen set the user has selected.  If
  2288.       Oblivion/2 cannot find an ansi that it needs in the user's current
  2289.       status screen set, it will look for it in the textfile directory.
  2290.  
  2291.       If you wish to code additional screens into the status screen
  2292.       library that are not included in the default list above, you must
  2293.       create a .LST file in the main BBS directory.  For example, if your
  2294.       statscreen set was STAT1, you would have to create a textfile called
  2295.       STAT1.LST in your main directory.  This file contains the filenames
  2296.       of the ansis you want to be additionally coded into the status
  2297.       screen libraries (one filename per line, include the file
  2298.       extension).
  2299.  
  2300.       If you wish to compile your data area ansis (see Section 16 for
  2301.       more information on the data areas) you must simply toggle the
  2302.       Library Data Ansis option to Yes in System Information 2.  Then
  2303.       place all the appropriate data area ansis into the same target
  2304.       directory as the rest of your status screens and StatCode will
  2305.       compile them as well.  Remember, that if an ansi is not found in the
  2306.       status screen library, Oblivion/2 will look for it in the textfile
  2307.       directory.  This goes for the data area ansis as well.
  2308.  
  2309.       If you use the above optional SUBxxx.ANS and AREAxxx.ANS files, you
  2310.       must turn their usage on in the Configuration (in the File Section
  2311.       and Message Section parts of the Configuration).  They are Repeat
  2312.       Method ansis, so that option must be turned on as well.
  2313.  
  2314.       After you have finished compiling your status screen libraries and
  2315.       StatCode has created the LIB/NDX files in your data directory, log
  2316.       into the BBS and goto the sysop menu.  Use the *S (option "N" in the
  2317.       default sysop menu) command and select "S" for status screen
  2318.       libraries.  Using the same process as adding menusets (see Section
  2319.       4.1 above), you can define status screen libraries or directories in
  2320.       the same manner as MenuCode.
  2321.  
  2322.  
  2323.       ────────────────────────────────────────────────────────────────────
  2324.       Oblivion/2 v2.35 Bulletin Board System Documentation              38
  2325.       Section 4                              OBLIVION/2 EXTERNAL UTILITIES
  2326.       ────────────────────────────────────────────────────────────────────
  2327.  
  2328.  
  2329.  
  2330.       4.3: UnPack
  2331.  
  2332.       This utility will unpack your library files (either menu or status)
  2333.       into the directory of your choice.  When you compile a library and
  2334.       later want to make changes to a particular screen, you will need to
  2335.       unpack the library, change the screen, then re-code it using
  2336.       MenuCode or StatCode.  The commandline for UnPack is:
  2337.  
  2338.           UNPACK.EXE <LIB name> <target directory>
  2339.  
  2340.       Where LIB name is the name of the library file you want to unpack
  2341.       and target directory is the directory where you want to place the
  2342.       ansis.
  2343.  
  2344.  
  2345.  
  2346.       4.4: MakeProm
  2347.  
  2348.       This utility should be run only once, and that's when you upgrade to
  2349.       a new version of Oblivion/2.  MakeProm will add and re-arrange your
  2350.       PROMPTS.DAT file so that any new strings that were made configurable
  2351.       since the last release will be available to you.  MakeProm
  2352.       eliminates the need for textfile string files or string file
  2353.       compilers.  Simply execute MakeProm after any upgrade (make sure you
  2354.       use the copy of MakeProm included in the upgrade archive) and then
  2355.       delete it.  If you run MakeProm more than once on any given version,
  2356.       you risk corrupting your PROMPTS.DAT file.
  2357.  
  2358.  
  2359.  
  2360.       4.5: MakeHelp
  2361.  
  2362.       This utility should be run only once, and like MakeProm, it should
  2363.       be run when you upgrade to a new version of Oblivion/2.  What it
  2364.       does is update the help file for the Configuration system.  When new
  2365.       options are added to the Configuration, or obsolete options are
  2366.       removed, the help system must be changed accordingly.  The help
  2367.       system is the brief description at the bottom of the screen in any
  2368.       Configuration menu.  It will give you a brief description of the
  2369.       currently highlighted option.  Once you have run this utility after
  2370.       an upgrade, delete it.
  2371.  
  2372.  
  2373.  
  2374.       4.6: EP
  2375.  
  2376.       This utility will pack your email text file.  When a user (or you)
  2377.       deletes email, it is still kept in the text file that the email uses
  2378.       to store all of the messages.  The email must be purged either by an
  2379.  
  2380.       ────────────────────────────────────────────────────────────────────
  2381.       Oblivion/2 v2.35 Bulletin Board System Documentation              39
  2382.       Section 4                              OBLIVION/2 EXTERNAL UTILITIES
  2383.       ────────────────────────────────────────────────────────────────────
  2384.  
  2385.       EZ menu command or by EP.EXE.  EP is handy because you can use it in
  2386.       your nightly maintenance to pack the email text storage file to keep
  2387.       it small and fast.
  2388.  
  2389.  
  2390.  
  2391.       4.7: IP
  2392.  
  2393.       This utility will pack your infoform text file.  When a user is
  2394.       deleted from the system, their infoform is marked as deleted, but
  2395.       must be purged from the text storage file.  IP will do this.  It
  2396.       might not be a good idea to run IP as a nightly event as it may
  2397.       cause unneeded stress on the storage file, but you should run it
  2398.       once a month or after you delete users to keep the infoform text
  2399.       storage file small.
  2400.  
  2401.  
  2402.  
  2403.       4.8: AnsiTran
  2404.  
  2405.       This utility is sometimes needed due to the limitations of some ansi
  2406.       editors and Oblivion/2's internal ansi-reading interpreter.  What
  2407.       AnsiTran does is take the input ansi and translate any codes that
  2408.       might confuse Oblivion/2 into codes that Oblivion/2 understands.
  2409.       Oblivion/2's internal ansi-reading routines are different from
  2410.       standard ansi codes to disallow ansi bombs and the like.  The
  2411.       commandline for AnsiTran is:
  2412.  
  2413.           ANSITRAN.EXE <ansi name>
  2414.  
  2415.       The ansi name is the name of the ansi you want to translate.
  2416.       AnsiTran will make a backup file (*.UNT) in case the translation
  2417.       actually makes the problem worse.  In most cases you won't need to
  2418.       use AnsiTran, but in some ansi animation screens you may have to.
  2419.       If AnsiTran does not work for you, try hand-editing the ansi
  2420.       yourself.  There's no better way to make something correct than to
  2421.       do it by hand.
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.       ────────────────────────────────────────────────────────────────────
  2438.       Oblivion/2 v2.35 Bulletin Board System Documentation              40
  2439.       Section 5                          OBLIVION/2 COMMANDLINE PARAMETERS
  2440.       ────────────────────────────────────────────────────────────────────
  2441.  
  2442.                  Section 5: OBLIVION/2 COMMANDLINE PARAMETERS
  2443.  
  2444.  
  2445.       Oblivion/2 has a number of different commandline parameters that
  2446.       make it easy to load from different batchfiles for different
  2447.       purposes.
  2448.  
  2449.       The commandline parameters for OBV.EXE are as follows:
  2450.  
  2451.           -A              Returns to DOS after carrier is lost (user hangs
  2452.                           up or is kicked off).
  2453.  
  2454.           -B xxxxx        Passes baudrate xxxxx to Oblivion/2.
  2455.  
  2456.           -D              Oblivion/2 doesn't check for work/swap
  2457.                           directories.
  2458.  
  2459.           -E              Forces Oblivion/2 to run an event.
  2460.  
  2461.           -F              Loads Oblivion/2 without fossil driver support.
  2462.  
  2463.           -L              Local login (logs in as sysop from the DOS
  2464.                           prompt).
  2465.  
  2466.           -M xxxx         xxxx is the time in minutes until the next
  2467.                           scheduled event that users should be kicked off
  2468.                           (ie. -M 120 and an event at 7:00pm would mean
  2469.                           that users would be disallowed access from
  2470.                           5:00pm until 7:00pm).
  2471.  
  2472.           -N x            Loads node x.
  2473.  
  2474.           -T xxxx         xxxx is the time in minutes after midnight
  2475.                           before which users should be kicked off (ie. -T
  2476.                           120 would mean that users would be
  2477.                           disallowed access until 2:00am).
  2478.  
  2479.           -CK             Loads the new Chromatik WFC screen
  2480.  
  2481.           -EMS            Loads the overlay (OBV.OVR) into EMS memory.
  2482.  
  2483.           -MENU           Loads the menu editor from DOS.
  2484.  
  2485.           -USER           Loads the user editor from DOS.
  2486.  
  2487.           -PROMPTS        Loads the prompt (string) editor from DOS.
  2488.  
  2489.           -CONFIG         Loads the configuration system from DOS.
  2490.  
  2491.  
  2492.  
  2493.  
  2494.       ────────────────────────────────────────────────────────────────────
  2495.       Oblivion/2 v2.35 Bulletin Board System Documentation              41
  2496.       Section 6                                          SYSOP ONLINE KEYS
  2497.       ────────────────────────────────────────────────────────────────────
  2498.  
  2499.                          Section 6: SYSOP ONLINE KEYS
  2500.  
  2501.  
  2502.       Oblivion/2 has a number of keys that the sysop can use while users
  2503.       are online.  These keys can be used anywhere within the BBS.
  2504.  
  2505.           F1              Bring user into Split-Screen Chat or if used
  2506.                           within chat, will exit chat.
  2507.  
  2508.           F2              Brings user into Single-Line Chat or if used
  2509.                           within chat, will exit chat.
  2510.  
  2511.           F3              Online User Editor.
  2512.  
  2513.           F4              Open ScrollBack Buffer.  In the buffer, you can
  2514.                           use the up and down arrows to scroll, or use
  2515.                           PgUp and PgDn.  Esc exits the buffer.
  2516.  
  2517.           F5              Generates a screen image.  Will capture the
  2518.                           image on the screen and write it to an ansi file
  2519.                           called OBV.IMG.  If OBV.IMG already exists, it
  2520.                           will append the new capture to the end of the
  2521.                           existing file.
  2522.  
  2523.           F6              Toggles the Chat log on and off (used only in
  2524.                           Split-Screen or Single-Line chat modes).
  2525.  
  2526.           F9              Modem Input Lockout (locks out incoming data
  2527.                           from the modem).
  2528.  
  2529.           F10             Modem Output Lockout (prevents BBS output from
  2530.                           going through the modem).
  2531.  
  2532.           ALT-A           Toggles Chat availability.
  2533.  
  2534.           ALT-B           Toggles the Status Bar and flips through the
  2535.                           different displays.
  2536.  
  2537.           ALT-H           Displays listing of all online sysop keys to the
  2538.                           sysop.
  2539.  
  2540.           ALT-J           Shells the sysop to DOS.
  2541.  
  2542.           ALT-M           Gives user access to all of the message bases.
  2543.  
  2544.           ALT-N           Nukes user (drops carrier on them).
  2545.  
  2546.           ALT-O           Toggles Input Timeout (activate/deactivate
  2547.                           Config setting).
  2548.  
  2549.           ALT-Q           Displays KICK-OFF.ANS in the textfile directory
  2550.  
  2551.       ────────────────────────────────────────────────────────────────────
  2552.       Oblivion/2 v2.35 Bulletin Board System Documentation              42
  2553.       Section 6                                          SYSOP ONLINE KEYS
  2554.       ────────────────────────────────────────────────────────────────────
  2555.  
  2556.                           and drops carrier on the user.
  2557.  
  2558.           ALT-T           Gives user temporary sysop access.
  2559.  
  2560.           ALT-V           Validates user
  2561.  
  2562.           ALT-X           Gives user access to all of the file bases.
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.       ────────────────────────────────────────────────────────────────────
  2609.       Oblivion/2 v2.35 Bulletin Board System Documentation              43
  2610.       Section 7                                               EVENT EDITOR
  2611.       ────────────────────────────────────────────────────────────────────
  2612.  
  2613.                            Section 7: EVENT EDITOR
  2614.  
  2615.  
  2616.       One of the more powerful features of Oblivion/2 is it's internal
  2617.       event editor.  With the event editor you can perform any type of
  2618.       maintenance you like, whether it's toggling sysop chat availability
  2619.       or running external utilities.
  2620.  
  2621.           Event Number:1
  2622.           [T] Event Type    :User ACS
  2623.           [A] ACS           :s32766
  2624.           [F] File          :ZONEHOUR.ANS
  2625.           [S] Starting Time :02:00 am
  2626.           [E] Ending Time   :03:00 am
  2627.           [N] Node Number   :0
  2628.           [K] Limit Time    :On
  2629.           [D] Delete
  2630.           [I] Insert
  2631.           [[] Previous
  2632.           []] Next
  2633.           [Q] Quit
  2634.  
  2635.           Command:
  2636.  
  2637.           Option T defines the event type.  There are four basic types of
  2638.           events:
  2639.  
  2640.             Errorlevel    The BBS exits with a certain errorlevel (useful
  2641.                           for batch maintenance commands).
  2642.  
  2643.             Code          Executes one or more menu commands with full
  2644.                           CString support.
  2645.  
  2646.             Availability  Toggles sysop availability on or off.
  2647.  
  2648.             User ACS      Restrict login to the BBS at certain times via
  2649.                           user access levels and ACS commands.
  2650.  
  2651.           Option A defines the ACS required to log in at this time for
  2652.           User ACS events.  For Availability events, Option A defines
  2653.           whether the sysop is available or unavailable.
  2654.  
  2655.           Option C defines the Code (menu command) to be executed for Code
  2656.           Execution events.
  2657.  
  2658.           Option L defines the Errorlevel Oblivion/2 should exit with.
  2659.           Only in Errorlevel events.
  2660.  
  2661.           Option F defines the file to show users who do not have access
  2662.           to the system at this time.  Only in User ACS events.
  2663.  
  2664.  
  2665.       ────────────────────────────────────────────────────────────────────
  2666.       Oblivion/2 v2.35 Bulletin Board System Documentation              44
  2667.       Section 7                                               EVENT EDITOR
  2668.       ────────────────────────────────────────────────────────────────────
  2669.  
  2670.           Option S defines the starting time of the event.  Use the format
  2671.           hh:mm [am|pm].  For all events.
  2672.  
  2673.           Option E defines the ending time of the event.  Use the format
  2674.           hh:mm [am|pm].  Only in User ACS events.
  2675.  
  2676.           Option N defines the node number this event affects.  Use Node 0
  2677.           for an event to affect ALL nodes.  For all events.
  2678.  
  2679.           Option K defines whether or not to limit the time of the user.
  2680.           If this event runs at 10:00pm and a user logs on at 9:45pm and
  2681.           they have 45 minutes left for the day, it will limit their time
  2682.           on to 15 minutes and restore the remaining 30 minutes after the
  2683.           event has been run.  For all events.
  2684.  
  2685.       If you are using a frontend mailer such as FrontDoor or D'Bridge,
  2686.       you won't have Oblivion/2 loaded all of the time and thus won't be
  2687.       able to make use of all of the different ACS types unless you use
  2688.       the -E commandline, as the BBS will often miss it's events.  All
  2689.       that is required is a simple "event on event" type system.  If you
  2690.       have defined an event at 2:00am to pack your file description file,
  2691.       simply have your frontend mailer, at 2:01am, drop to it's batchfile
  2692.       and run OBV.EXE -E and Oblivion/2 will process the 2:00am event.
  2693.       However, the -E commandline will only work if it is used AFTER an
  2694.       event is scheduled.  If your event is at 2:00am and you have your
  2695.       mailer drop to run OBV.EXE -E at 1:59am, it will not work.
  2696.  
  2697.  
  2698.  
  2699.       7.1: Errorlevel Events
  2700.  
  2701.       The BBS can exit at a certain time with a defined errorlevel which
  2702.       will then drop into the batch file that loaded up Oblivion/2 and
  2703.       process any IF ERRORLEVEL commands.  The following errorlevels are
  2704.       reserved for Oblivion/2 usage:
  2705.  
  2706.           255     Normal exit (no errors)
  2707.  
  2708.       In order to make your BBS respond correctly to your errorlevel, you
  2709.       must have a correctly written batchfile.  The following is a simple
  2710.       example batchfile that can be used to load the BBS and exit with an
  2711.       errorlevel of 100 (as defined in the event editor) to run Norton's
  2712.       SpeedDisk:
  2713.  
  2714.           @echo off
  2715.  
  2716.           :begin
  2717.           OBV.EXE
  2718.  
  2719.           if errorlevel 255 goto exit
  2720.           if errorlevel 100 goto speeddisk
  2721.  
  2722.       ────────────────────────────────────────────────────────────────────
  2723.       Oblivion/2 v2.35 Bulletin Board System Documentation              45
  2724.       Section 7                                               EVENT EDITOR
  2725.       ────────────────────────────────────────────────────────────────────
  2726.  
  2727.           goto begin
  2728.  
  2729.           :speeddisk
  2730.           cd\norton
  2731.           SPEEDDISK.EXE /BATCH C:
  2732.           cd\obv
  2733.           goto begin
  2734.  
  2735.           :exit
  2736.           exit
  2737.  
  2738.       What happens in the above batchfile is when the time for the event
  2739.       rolls around, it exists with an errorlevel of 100.  By using the
  2740.       clause "IF ERRORLEVEL 100 GOTO SPEEDDISK" the batchfile will go to
  2741.       the title ":SPEEDDISK" and process the commands in that segment of
  2742.       the batchfile.  It will run Norton's SpeedDisk and then return to
  2743.       the ":BEGIN" clause, which re-loads Oblivion/2.  Basic batchfile
  2744.       programming knowledge is needed to write a proper batchfile to
  2745.       interface properly with Oblivion/2.
  2746.  
  2747.  
  2748.  
  2749.       7.2: Code Execution Events
  2750.  
  2751.       Code events are possibly one of the most useful type of events.
  2752.       With it, you can do any maintenance you wish, from purging email to
  2753.       packing the file description file.  Simply select the Code event
  2754.       type, enter in the Command Key as EZ (to pack email), give it a
  2755.       time, and when the time comes, Oblivion/2 will process that event.
  2756.  
  2757.  
  2758.  
  2759.       7.3: Sysop Availability Events
  2760.  
  2761.       With the Sysop Availability Event, you can turn on and off your chat
  2762.       paging availability status.  Perhaps you wish to have a chat
  2763.       "window" from 6pm to 10pm.  You will need three availability events.
  2764.       One to turn chat status on at 6pm, one to turn it off at 10pm, and
  2765.       another to turn it off at 12:01am.  The last event is needed because
  2766.       at midnight, the chat status will be reset to it's default (on).
  2767.  
  2768.  
  2769.  
  2770.       7.4: User ACS Events
  2771.  
  2772.       This event type is a useful one to restrict logins to the BBS at
  2773.       certain times.  Perhaps your system is a popular one with constant
  2774.       callers and your co-sysop is complaining that he cannot ever login
  2775.       to do his job.  Simply define a user ACS event that will allow him
  2776.       entrance (either by using the sxxx ACS command (ie. s250 will allow
  2777.       users with a security level of 250 and higher to access the BBS
  2778.  
  2779.       ────────────────────────────────────────────────────────────────────
  2780.       Oblivion/2 v2.35 Bulletin Board System Documentation              46
  2781.       Section 7                                               EVENT EDITOR
  2782.       ────────────────────────────────────────────────────────────────────
  2783.  
  2784.       while those with a lower level will be kicked off) or by using the
  2785.       Ux ACS command (ie. if his user number was 3, you could define it so
  2786.       that the ACS was U3 which would give him and him alone access to the
  2787.       system)).  With the wide variety of ACS commands, you should be able
  2788.       to define an ACS restriction that meets your needs, whatever they
  2789.       might be.
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.       ────────────────────────────────────────────────────────────────────
  2837.       Oblivion/2 v2.35 Bulletin Board System Documentation              47
  2838.       Section 8                                                USER EDITOR
  2839.       ────────────────────────────────────────────────────────────────────
  2840.  
  2841.                             Section 8: USER EDITOR
  2842.  
  2843.  
  2844.       Oblivion/2's user editor is a powerful one.  It is run by a batch
  2845.       oriented system, much like everything else in Oblivion/2, and this
  2846.       allows for a lot of flexibility.  A few features of the user editor
  2847.       include infoform extraction, user searching by defined criteria,
  2848.       highlight selected user editing, and more.
  2849.  
  2850.       When you first select the user editor command, you will be given an
  2851.       "Edit Individual?" prompt.  If you select Yes, you can type in the
  2852.       name of the user editor, or use DOS style wildcards.  If you wanted
  2853.       to edit a user with the alias of Diabolous, but you can't remember
  2854.       how to spell it, simply type in Dia* and it will try to match a user
  2855.       name to the wildcard, and then prompt you if it is the correct user.
  2856.       Select Yes to edit the user it found, or No to continue the search.
  2857.       If you simply type in * at the prompt, you will be prompted, one by
  2858.       one from the first user to the last, whether or not you would like
  2859.       to edit that individual.  If, at the "Edit Individual" prompt you
  2860.       select No, you will be given a list of users and can use your arrow
  2861.       keys to scroll up and down the list via a highlight bar.  It will
  2862.       show you the first 23 users, and then once you reach the last user
  2863.       and press the down arrow again, will clear the screen and display
  2864.       the next 23 users.  You can press Q to quit the process or ENTER to
  2865.       edit the highlighted user.
  2866.  
  2867.       When you enter the actual user editor, you will see something like
  2868.       this:
  2869.  
  2870.       ╒══════════════════════════════════════════════════════════════════╕
  2871.       │(H)andle      : Lasher                    (L)evel       : 32766   │
  2872.       │(-)User Flags : BCHSVXZ                   (F)ile Level  : 32766   │
  2873.       │(R)eal Name   : Vincent Danen             (P)oints      : 32698   │
  2874.       │(()Phone      : 4034744444                (T)ime Limit  : 1440    │
  2875.       │(N)User Note  : SysGod ■ EViL.mOrtal      ($)Time Left  : 1300    │
  2876.       │(A)ddress     : yeah right =)             (C)Calls      : 365     │
  2877.       │(=)Location   : Edmonton, AB              (U)ploads     : 2       │
  2878.       │(!)Uploaded K : 32                        (D)ownloads   : 3       │
  2879.       │(@)Download K : 684                       (#)U/D Ratio  : 0       │
  2880.       │(^)Posts      : 1603                      (%)U/D K Ratio: 0       │
  2881.       │(|)Password   : yeah right!               (&)PCR        : 0       │
  2882.       │(W)anted      : False                     (B)NetMail B  : 10000   │
  2883.       │(X)Expiration : N/A                       ( )Last Call  : 01/11/96│
  2884.       │(')D/L CPS    : 2846                      (J)New Level  : 0       │
  2885.       │(\)K Per Day  : 0                         (E)dit User             │
  2886.       │(/)User Flags2:                           (+)Validate User/Advance│
  2887.       │First Call: 00/00/80  Birthdate: 01/01/01 (>)Edit Description     │
  2888.       │(S)User Search                            (I)nfoforms             │
  2889.       │(*)Extract Infoform (K)ill User ([,{,},])Prev/Next Reg/Search Link│
  2890.       ╘══════════════════════════════════════════════════════════════════╛
  2891.  
  2892.  
  2893.       ────────────────────────────────────────────────────────────────────
  2894.       Oblivion/2 v2.35 Bulletin Board System Documentation              48
  2895.       Section 8                                                USER EDITOR
  2896.       ────────────────────────────────────────────────────────────────────
  2897.  
  2898.           The following keys edit certain fields in the current user's
  2899.           account:
  2900.  
  2901.           H   User's handle.
  2902.           -   User's ACS flags that are active in the FIRST user ACS flag
  2903.               set.
  2904.           R   User's real name.
  2905.           (   User's phone number.
  2906.           N   User's User Note
  2907.           A   User's street address.
  2908.           =   User's City/State.
  2909.           !   Amount (in k) that the user has uploaded.
  2910.           @   Amount (in k) that the user has downloaded.
  2911.           ^   Amount of posts user has made.
  2912.           |   User's password
  2913.           W   Whether the user is wanted by the sysop or not.  (See
  2914.               Section 8.2).
  2915.           X   The date the user's current security level will expire.
  2916.               (See Section 9).
  2917.           '   User's average download CPS rate.
  2918.           \   The amount the user can download per day (in k).
  2919.           /   User's ACS flags that are active in the SECOND user ACS
  2920.               flag set.
  2921.           L   User's security level.
  2922.           F   User's file level.
  2923.           P   User's amount of file points.
  2924.           T   User's time limit per day.
  2925.           $   User's time left today.
  2926.           C   User's total number of calls to the system.
  2927.           U   Amount (in number of files) that the user has uploaded.
  2928.           D   Amount (in number of files) that the user has downloaded.
  2929.           #   User's upload/download ratio.
  2930.           %   User's upload/download K ratio.
  2931.           &   User's Post/Call Ratio.
  2932.           B   User's amount of netmail credits.  (See Section 8).
  2933.               User's last call date.
  2934.           J   User's new level when current level expires.
  2935.  
  2936.           The following keys call up general editing and viewing commands:
  2937.  
  2938.           E   Edit another user.
  2939.           +   Advance the user to the next defined level (as defined in
  2940.               the parameter editor).
  2941.           >   Edit the user's description.  The description is where you
  2942.               can store miscellaneous info on the user by typing it in
  2943.               using the internal message editor.
  2944.           I   Display the user's infoforms.
  2945.           *   Extract infoforms to a text file or sends them to you if you
  2946.               are remote.
  2947.           K   Deletes the current user.
  2948.           []  Previous/Next user directly (ie. user 2 to user 3 and user 3
  2949.  
  2950.       ────────────────────────────────────────────────────────────────────
  2951.       Oblivion/2 v2.35 Bulletin Board System Documentation              49
  2952.       Section 8                                                USER EDITOR
  2953.       ────────────────────────────────────────────────────────────────────
  2954.  
  2955.               to user 2).
  2956.           {}  Previous/Next user as defined by the search criteria (see
  2957.               below).
  2958.           S   Searches for users by using the tabulated search method.
  2959.  
  2960.  
  2961.  
  2962.       8.1: User Search Editor
  2963.  
  2964.       The Oblivion/2 User Search Editor (accessed by option "S" in the
  2965.       User Editor) is a powerful tool and can be used in many ways to
  2966.       search for users meeting the same criteria.  It has many uses and
  2967.       has a variety of different criteria it can search for:
  2968.  
  2969.       ╒══════════════════════════════════════════════════════════════════╕
  2970.       │ Command :           (Q)uit            Oblivion/2 Search Editor   │
  2971.       ╘══════════════════════════════════════════════════════════════════╛
  2972.       ╒══════════════════════════════════════════════════════════════════╕
  2973.       │ (H) Handle String  : [OFF]                                       │
  2974.       │ (A) ACS            : [OFF]                                       │
  2975.       │ (L) Level          : [OFF] - [OFF]                               │
  2976.       │ (F) File Level     : [OFF] - [OFF]                               │
  2977.       │ (D) Days Since 1st : [OFF] - [OFF]                               │
  2978.       │ (S) Days Since Last: [OFF] - [OFF]                               │
  2979.       │ (E) Flag           : [OFF]                                       │
  2980.       │ (N) Number of Calls: [OFF] - [OFF]                               │
  2981.       │ (Y) Age            : [OFF] - [OFF]                               │
  2982.       │ (G) Gender         : [OFF]                                       │
  2983.       │ (P) PCR            : [OFF] - [OFF]                               │
  2984.       │ (U) % U/D Ratio    : [OFF] - [OFF]                               │
  2985.       │ (K) % U/D K Ratio  : [OFF] - [OFF]                               │
  2986.       │ (X) Expiration Date: [OFF] - [OFF]                               │
  2987.       │ (I) Infoform Str   : [OFF]                                       │
  2988.       │ ($) Password Str   : [OFF]                                       │
  2989.       │ (T) Tabulate Search                                              │
  2990.       ╘══════════════════════════════════════════════════════════════════╛
  2991.  
  2992.           H   Searches for a particular handle string.
  2993.           A   Tries to meet input ACS (ie. if you entered X219 it would
  2994.               look for all users with an area code of 219).  All valid ACS
  2995.               commands are allowed to be used here.
  2996.           L   Searches for security level in between the Low mark and the
  2997.               High mark (ie. 0 - 50 would tabulate all users with a
  2998.               security level between and including 0 through 50).
  2999.           F   Searches for file level in between the Low mark and the High
  3000.               mark.
  3001.           D   Searches for amount of days since first call in between the
  3002.               Low mark and the High mark.
  3003.           S   Searches for amount of days since last call made to the BBS
  3004.               in between the Low mark and the High mark.
  3005.           E   Searches for users with the defined user ACS flags, but only
  3006.  
  3007.       ────────────────────────────────────────────────────────────────────
  3008.       Oblivion/2 v2.35 Bulletin Board System Documentation              50
  3009.       Section 8                                                USER EDITOR
  3010.       ────────────────────────────────────────────────────────────────────
  3011.  
  3012.               from the FIRST set of user ACS flags.
  3013.           N   Searches for number of calls to the BBS in between the Low
  3014.               mark and the High mark.
  3015.           Y   Searches for ages in between the Low mark and the High mark.
  3016.           G   Searches for defined gender.
  3017.           P   Searches for Post/Call Ratios in between the Low mark and
  3018.               the High mark.
  3019.           U   Searches for upload/download ratio in between the Low mark
  3020.               and the High mark.
  3021.           K   Searches for upload/download K ratio in between the Low mark
  3022.               and the High mark.
  3023.           X   Searches for expiration dates (of accounts) in between the
  3024.               Low mark and the High mark.
  3025.           I   Searches infoforms for a particular string.
  3026.           $   Searches for a particular password string.
  3027.  
  3028.  
  3029.  
  3030.       8.2: Wanted Users
  3031.  
  3032.       A unique feature of Oblivion/2 is the "wanted" user feature.  What
  3033.       this feature does is allow the sysop to flag certain individuals as
  3034.       wanted.  This could be so that the sysop can be called to the
  3035.       computer to see what the wanted user does, or it could be because
  3036.       the sysop wishes to talk to the wanted user.  The uses for this
  3037.       function are endless.
  3038.  
  3039.       What it does is when the system comes across a -_ menu command
  3040.       (usually in the login process) it will page the sysop without
  3041.       alerting the user.  This page signal is the same as a normal page
  3042.       when a user wants to chat with the sysop.  When the sysop hears this
  3043.       page, if he has a wanted user, he can check to see if it is indeed
  3044.       the user he wants.  If it is, he can then sit and watch the user or
  3045.       break in for chat, whatever the sysop desires.
  3046.  
  3047.       The wanted flag is toggled in the User Editor.
  3048.  
  3049.  
  3050.  
  3051.  
  3052.  
  3053.  
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.       ────────────────────────────────────────────────────────────────────
  3065.       Oblivion/2 v2.35 Bulletin Board System Documentation              51
  3066.       Section 9                                           PARAMETER EDITOR
  3067.       ────────────────────────────────────────────────────────────────────
  3068.  
  3069.                          Section 9: PARAMETER EDITOR
  3070.  
  3071.  
  3072.       Oblivion/2's Parameter Editor is an easy way for the sysop to
  3073.       utilize different user levels.  With this system, you can define a
  3074.       number of different user levels to manage your users instead of
  3075.       manually handling their account information on an individual basis.
  3076.  
  3077.       To use the parameter editor, simply choose a user level.  Perhaps
  3078.       you want level 50 to be your default user level for all users.  You
  3079.       will need to decide what security level 50's Post/Call Ratio,
  3080.       Upload/Download Ratio, Upload/Download K Ratio, time per day, as
  3081.       well as how much they can download (in K) per day.  Enter in the
  3082.       values you want and you have your level 50 defined.
  3083.  
  3084.       You may also wish to have temporary levels.  For example, maybe you
  3085.       run a pay system where users get access to certain echomail networks
  3086.       or file areas for paying a certain fee per month.  You can define a
  3087.       number of days until expiration for a specific user security level
  3088.       as well, and the BBS will automatically adjust the user's account
  3089.       when their paid level (or whatever) subscription and they would be
  3090.       once again reduced to level 50 (default un-registered user,
  3091.       perhaps).
  3092.  
  3093.       The nice thing about Oblivion/2 is how the parameter editor and the
  3094.       user editor work hand in hand.  Whatever security level is defined
  3095.       by the parameter editor is by no means set in stone.  Any value
  3096.       defined in the parameter editor can be over-ridden in the user
  3097.       editor.  For Oblivion/2 to know that it must read a value from the
  3098.       parameter editor and not the user editor, that value must be 0
  3099.       (zero) in the user editor.  This will tell Oblivion/2 that the value
  3100.       is found in the parameter level for the user's defined security
  3101.       level.  If you want a specific user to have, say, more time per day
  3102.       but don't want to give him a different security level, simply enter
  3103.       in the amount of minutes per day you want him to have in the user
  3104.       editor.  Since the value is a non-zero value, Oblivion/2 will read
  3105.       it from the user's account and not a value defined in the parameter
  3106.       editor.
  3107.  
  3108.       If you wish to use the parameter level right from the beginning for
  3109.       new users, you must zero some field in the Val User/NUV
  3110.       Configuration menu in the Configuration system.  All of the default
  3111.       values that you can define in the parameter editor should be (in the
  3112.       Val/NUV Configuration) set to zero.  Do not set fields like Upload
  3113.       CPS or Download CPS to zero.  If the fields in the default settings
  3114.       (see the diagram below for all of the values the parameter editor
  3115.       can define) are not zeroed, the parameter editor will not function
  3116.       correctly.
  3117.  
  3118.  
  3119.  
  3120.  
  3121.       ────────────────────────────────────────────────────────────────────
  3122.       Oblivion/2 v2.35 Bulletin Board System Documentation              52
  3123.       Section 9                                           PARAMETER EDITOR
  3124.       ────────────────────────────────────────────────────────────────────
  3125.  
  3126.       ╒══════════════════════════════════════════════════════════════════╕
  3127.       │ Command :           (Q)uit         Oblivion/2 Parameter Editor   │
  3128.       ╘══════════════════════════════════════════════════════════════════╛
  3129.       ╒══════════════════════════════════════════════════════════════════╕
  3130.       │ (A) Level          : 50                                          │
  3131.       │ (B) PCR            : 25%                                         │
  3132.       │ (C) Time Limit     : 45                                          │
  3133.       │ (D) U/D Ratio      : 10%                                         │
  3134.       │ (E) U/D K Ratio    : 10%                                         │
  3135.       │ (F) D/L K Per Day  : 3000k                                       │
  3136.       │ (G) Days until Exp : 0                                           │
  3137.       │ (H) Level upon Exp : 0                                           │
  3138.       │ ([) Previous                                                     │
  3139.       │ (]) Next                                                         │
  3140.       │ (I) Insert                                                       │
  3141.       │ (K) Kill                                                         │
  3142.       │ (Z) Zero User Info                                               │
  3143.       ╘══════════════════════════════════════════════════════════════════╛
  3144.  
  3145.           A   The security level that is being defined.
  3146.           B   The Post/Call Ratio for this level.
  3147.           C   The time limit for this level.
  3148.           D   The upload/download ratio for this level.
  3149.           E   The upload/download K ratio for this level.
  3150.           F   The amount (in kbytes) that users with this security level
  3151.               can download per day.
  3152.           G   The amount (in days) that users with this level will be able
  3153.               to retain this level before it expires.
  3154.           H   The security level a user at this security level will be
  3155.               dropped (or raised) to when this level expires.
  3156.           Z   This will zero all of the options A-F for this particular
  3157.               security level.  (Ie. if defining security level 50 and you
  3158.               Zeroed User Info, all users with a security level of 50
  3159.               would have the defined options A-F zeroed in their user
  3160.               account).
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.       ────────────────────────────────────────────────────────────────────
  3179.       Oblivion/2 v2.35 Bulletin Board System Documentation              53
  3180.       Section 10                                                 BLACKLIST
  3181.       ────────────────────────────────────────────────────────────────────
  3182.  
  3183.                             Section 10: BLACKLIST
  3184.  
  3185.  
  3186.       With Oblivion/2, you can define something called a Blacklist.  It
  3187.       can also be known as a Delete List or Twit List.  What it is is a
  3188.       database of users that are not wanted on the system, for one reason
  3189.       or another, for a particular length of time.
  3190.  
  3191.       There are three types of deleted status.  They are described as
  3192.       follows:
  3193.  
  3194.           Immediate   The defined file is shown to the user, he is
  3195.                       disconnected, and then he is removed from the
  3196.                       blacklist and is able to apply again.
  3197.  
  3198.           Expiration  The defined file is shown to the user until the date
  3199.                       specified.  After the date specified, the user will
  3200.                       be removed from the blacklist and he will be able to
  3201.                       apply again.
  3202.  
  3203.           Never       The defined file is shown to the user always.  He
  3204.                       will always be in the blacklist and will never be
  3205.                       able to apply again.
  3206.  
  3207.       Each level of deletion will display a file to the user.  This file
  3208.       can be different for each user (the default file is called
  3209.       BLACKLST.ANS).  These files are stored in the textfile directory.
  3210.  
  3211.       You can also store a description on each deleted user in the same
  3212.       way you can store descriptions of your users.  These are simple text
  3213.       descriptions you must enter in yourself using the internal message
  3214.       editor.
  3215.  
  3216.       The blacklist is a good way to keep unwanted users off of your BBS.
  3217.       However, it is not fool-proof.  If the offending user applies again
  3218.       under a different alias, he will not be hung up on.  If security is
  3219.       important on your system, it would perhaps be best if you used the
  3220.       description storage to your benefit by perhaps taking a screen
  3221.       capture of the deleted user's personal information (press F5 in the
  3222.       user editor) and locally uploading it into the description.  Also
  3223.       entering in information like real name and phone number, address,
  3224.       etc. will help you if you suspect a blacklisted user trying to apply
  3225.       with a different alias because his current one is in the blacklist.
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.       ────────────────────────────────────────────────────────────────────
  3236.       Oblivion/2 v2.35 Bulletin Board System Documentation              54
  3237.       Section 11                                             PROMPT EDITOR
  3238.       ────────────────────────────────────────────────────────────────────
  3239.  
  3240.                           Section 11: PROMPT EDITOR
  3241.  
  3242.  
  3243.       The prompt editor is an integral part of any configurable software,
  3244.       and Oblivion/2 has one of the best.  It is an online prompt editor
  3245.       so there is no need for clumsy external applications to edit your
  3246.       prompts.  There are currently over 200 configurable prompts, each
  3247.       with a length of approximately 255 characters.
  3248.  
  3249.       There are a few commands in the prompt editor that you should be
  3250.       aware of, as they will make your prompt editing that much easier.
  3251.  
  3252.           Control Commands:
  3253.  
  3254.           CTRL-V  Toggles insert mode.
  3255.           CTRL-U  Pop-up ascii chart.  Instead of having to remember the
  3256.                   high ascii characters or refer to your DOS manual, you
  3257.                   can use the ascii chart and select which character you
  3258.                   wanted printed at the cursor position of your prompt.
  3259.  
  3260.           MCI Codes:
  3261.  
  3262.           |Bx     Moves backward x amount of columns (where x = 1-9).
  3263.           |CR     Carriage return.
  3264.           |CS     Clear screen.
  3265.           |Dx     Moves down x amount of lines (where x = 1-9).
  3266.           |Fx     Moves forward x amount of columns (where x = 1-9).
  3267.           |OT-O2  Pipes OT and O2 are internal variables that Oblivion/2
  3268.                   uses for certain strings.  If the example string
  3269.                   contains the pipe codes, be sure that your prompt
  3270.                   contains the same pipe codes as they present to the user
  3271.                   vital information.
  3272.           |PA     Pause.
  3273.           |Ux     This will translate to a color corresponding to the
  3274.                   user's six selected colors (where x = 1-6).
  3275.  
  3276.       In the prompt editor, you will see two lines for each prompt.  The
  3277.       upper line is the "example" string, while the bottom line is the
  3278.       what the prompt currently looks like.
  3279.  
  3280.       All of the supported color codes can be used in your prompts as
  3281.       well, whether they are the standard pipe (|) color codes or the
  3282.       PCBoard (@X) color codes (see Section 28.5).
  3283.  
  3284.       However great the 255 character limit for prompts is, it is
  3285.       sometimes not enough.  Sometimes you need to give more information,
  3286.       or perhaps you want a full-screen ansi displayed where a 255
  3287.       character prompt would not be enough.  You can use another code to
  3288.       direct Oblivion/2 to read an external textfile (stored in your
  3289.       prompts directory) instead of reading a prompt.  Place your textfile
  3290.       in the prompts directory and for the prompt in question, simply
  3291.  
  3292.       ────────────────────────────────────────────────────────────────────
  3293.       Oblivion/2 v2.35 Bulletin Board System Documentation              55
  3294.       Section 11                                             PROMPT EDITOR
  3295.       ────────────────────────────────────────────────────────────────────
  3296.  
  3297.       enter in %%FILENAME.EXT.  In the textfile itself, you can use three
  3298.       MCI codes.  %OT and %O2 correspond to the prompt MCI codes |OT and
  3299.       |O2.  Place them in the textfile how you would place them in the
  3300.       string.  The third code is %IN, and it tells Oblivion/2 where to
  3301.       place the cursor once the textfile has been read.  If you draw an
  3302.       ansi, the color that %IN is in (in the ansi itself) is the color the
  3303.       user's input will be.
  3304.  
  3305.       The informational pipe codes, OT and O2, should only be used if the
  3306.       example prompt has them.  If the example prompt does not contain
  3307.       those two codes, or one of them, do not place them in your prompt/
  3308.       textfile.  If you do, it will not be translated to anything and you
  3309.       will have a very silly looking prompt.
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319.  
  3320.  
  3321.  
  3322.  
  3323.  
  3324.  
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.  
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.       ────────────────────────────────────────────────────────────────────
  3350.       Oblivion/2 v2.35 Bulletin Board System Documentation              56
  3351.       Section 12                                        MENU PROMPT EDITOR
  3352.       ────────────────────────────────────────────────────────────────────
  3353.  
  3354.                         Section 12: MENU PROMPT EDITOR
  3355.  
  3356.  
  3357.       With multiple menusets and status screen sets at your fingertips, it
  3358.       is only logical that multiple menu prompts are a reality.  You could
  3359.       design your system so that the user picked one menuset and a
  3360.       corresponding menu prompt and status screen set would be turned
  3361.       active, to give the system more of a unified feeling in regards to
  3362.       the way it looks.
  3363.  
  3364.       The menu prompt editor is another powerful tool that allows you to
  3365.       define more than one menu prompt.  Menu prompts can look however you
  3366.       want them to, from the simple:
  3367.  
  3368.           Main Menu:
  3369.  
  3370.       to the more extravagant:
  3371.  
  3372.           [10:06pm EST]
  3373.           Main Menu (?/Help) :
  3374.  
  3375.       To make a menu prompt is a very simple process.  You simply use the
  3376.       internal FullScreen Editor to create it, or design the prompt
  3377.       externally and use the FSE's import command.  Menu prompts have the
  3378.       potential to give little information or give a lot, and so the
  3379.       following MCI codes are available for you to use when designing your
  3380.       menu prompt:
  3381.  
  3382.           |00-23  This will translate the color to the corresponding pipe
  3383.                   color code, where 00-15 are foreground colors and 16-23
  3384.                   are background colors.
  3385.           |Bx     Moves backward x columns (where x = 1-9).
  3386.           |Dx     Moves down x amount of lines (where x = 1-9).
  3387.           |EC     User's input color.
  3388.           |Fx     Moves forward x columns (where x = 1-9).
  3389.           |FLxx   Restricts input to xx characters.
  3390.         * |MN     Menu name (as defined in the menu editor).
  3391.         * |NN     Current node number.
  3392.           |PC     User's prompt color.
  3393.           |RC     User's regular color.
  3394.           |SC     User's status color.
  3395.         * |TL     User's time left.
  3396.         * |TM     Current time.
  3397.           |Ux     Moves up x amount of lines (where x = 1-9).
  3398.           |VC     User's inverse color.
  3399.           |Xxx    Moves to absolute xx value (ie. |X10 goes to 10th row).
  3400.           |XC     User's box color.
  3401.  
  3402.       You may also use external textfiles for menu prompts.  These files
  3403.       must be stored in the textfile directory.  As with the prompt editor,
  3404.       %%FILENAME.EXT is the MCI code to use in the menu prompt editor.
  3405.  
  3406.       ────────────────────────────────────────────────────────────────────
  3407.       Oblivion/2 v2.35 Bulletin Board System Documentation              57
  3408.       Section 12                                        MENU PROMPT EDITOR
  3409.       ────────────────────────────────────────────────────────────────────
  3410.  
  3411.       The above MCI codes with an asterix (*) before them can also be used
  3412.       in the external textfile, but must be a % code, not a | code.
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.       ────────────────────────────────────────────────────────────────────
  3464.       Oblivion/2 v2.35 Bulletin Board System Documentation              58
  3465.       Section 13                                           PROTOCOL EDITOR
  3466.       ────────────────────────────────────────────────────────────────────
  3467.  
  3468.                          Section 13: PROTOCOL EDITOR
  3469.  
  3470.  
  3471.       The protocol editor is where you can setup external protocols like
  3472.       GSZ, HSLink.  It is fairly easy to setup and easy to understand.
  3473.       The hardest thing you will have is the configuration of the
  3474.       protocols themself.
  3475.  
  3476.       When you first enter the protocol editor, you'll see a menu like
  3477.       this:
  3478.  
  3479.           [1] Download Protocols
  3480.           [2] Upload Protocols
  3481.           [3] Batch Download Protocols
  3482.           [4] Batch Upload Protocols
  3483.           [5] Resume Protocols
  3484.           [6] Bidirectional Protocols
  3485.  
  3486.           Enter Protocols to Edit [1-6,Q] :
  3487.  
  3488.               Option 1 is the download protocols.  These are the protocols
  3489.               used for single file downloads.
  3490.  
  3491.               Option 2 is the upload protocols.  These are the protocols
  3492.               used for single file uploads.
  3493.  
  3494.               Option 3 is the batch download protocols.  As the name implies,
  3495.               they are used for batch (more than one file) downloads.
  3496.  
  3497.               Option 4 is the batch upload protocols.
  3498.  
  3499.               Option 5 is the resume protocols.  Not all protocols are
  3500.               able to handle resuming files (if during a transfer, the
  3501.               connection gets severed, the protocol does not delete the
  3502.               file but will save it allowing the user to continue
  3503.               uploading from where they left off instead of doing the
  3504.               entire upload over again).  A few examples are DSZ/GSZ and
  3505.               HSLink.
  3506.  
  3507.               Option 6 is the bidirectional protocols.  These protocols allow
  3508.               users to upload and download files simultaneously.  A few
  3509.               examples are HSLink and HydraCom.
  3510.  
  3511.       Once you have selected the type of protocol you would like to edit,
  3512.       you will be taken to the actual protocol editor.
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.       ────────────────────────────────────────────────────────────────────
  3521.       Oblivion/2 v2.35 Bulletin Board System Documentation              59
  3522.       Section 13                                           PROTOCOL EDITOR
  3523.       ────────────────────────────────────────────────────────────────────
  3524.  
  3525.       ╒══════════════════════════════════════════════════════════════════╕
  3526.       │ Command :           (Q)uit          Oblivion/2 Protocol Editor   │
  3527.       ╘══════════════════════════════════════════════════════════════════╛
  3528.       ╒══════════════════════════════════════════════════════════════════╕
  3529.       │ (A) Description    : Zmodem (GSZ 06-07-95)                       │
  3530.       │ (B) Key            : Z                                           │
  3531.       │ (C) Program Name   : GSZ.EXE                                     │
  3532.       │ (D) Command Line   :  %1 %2 est len %4 sz -s -m %3               │
  3533.       │ (E) Erase the Current Protocol                                   │
  3534.       │ (I) Insert Protocols                                             │
  3535.       │ ([) Previous Protocol                                            │
  3536.       │ (]) Next Protocol                                                │
  3537.       ╘══════════════════════════════════════════════════════════════════╛
  3538.  
  3539.               Option A is the description of the protocol.  Your users see
  3540.               this description when they are about to upload or download.
  3541.  
  3542.               Option B is the key that the user has to press to activate
  3543.               this particular protocol.
  3544.  
  3545.               Option C is the actual executable name (full name).  The
  3546.               executables will be looked for in your main Oblivion/2
  3547.               directory.  However, you can use the batch/redirection
  3548.               method where you use a batchfile and call the protocol
  3549.               executable from a different directory.  For example, to use
  3550.               the same commandline as above, but wanting to call
  3551.               GSZDOWN.BAT you could use:
  3552.  
  3553.                       @echo off
  3554.                       C:\UT\GSZ.EXE %1 %2 %3 %4 %5 %6 %7 %8  %9
  3555.  
  3556.               This also makes it easier for the people who want to perform
  3557.               additional maintenance around running the protocol.  For
  3558.               example, you can turn MicroSoft's SmartDrv on and off in
  3559.               this method, toggle X00 port locking, etc.  The uses are
  3560.               endless, and for some external protocols, such as HSLink and
  3561.               vFAST, you may need a convertor to convert their native
  3562.               log file to a DSZLOG compatible format.  You can run the
  3563.               log convertor last, right before the batch file exits and
  3564.               jumps back into Oblivion/2.
  3565.  
  3566.               Option D is the actual commandline for the protocol.  Refer
  3567.               to the protocol's documentation for the proper commandlines
  3568.               for your system and the protocol direction you wish to use.
  3569.  
  3570.               Option E deletes the current protocol.
  3571.  
  3572.               Option I inserts a new protocol.
  3573.  
  3574.               Options ] and [ take you one protocol right or left.
  3575.  
  3576.  
  3577.       ────────────────────────────────────────────────────────────────────
  3578.       Oblivion/2 v2.35 Bulletin Board System Documentation              60
  3579.       Section 13                                           PROTOCOL EDITOR
  3580.       ────────────────────────────────────────────────────────────────────
  3581.  
  3582.       The following is a list of percent codes you can use on the
  3583.       commandline to give the protocol different information on the user's
  3584.       connection:
  3585.  
  3586.               %1  COM port in use (1-4).
  3587.               %2  Locked speed (what the COM port is locked at).
  3588.               %3  The filename to be sent or received, or the filename of
  3589.                   the textfile containing the list of files to be sent or
  3590.                   received.
  3591.               %4  The connected baudrate (the actual connection speed).
  3592.               %5  The logfile name (DSZLOG.n where n=current node).
  3593.               %6  Base address for the current COM port.  This is only
  3594.                   necessary if you defined it in Section 3.5:
  3595.                   Communication Information, for a nonstandard COM port.
  3596.               %7  IRQ number for the COM port, only if defined in the
  3597.                   Configuration for a nonstandard COM port.
  3598.               %8  Current node's node number
  3599.  
  3600.       All of the information for these codes are supplied by Oblivion/2 so
  3601.       you don't have to worry about them.  All you need to do is make sure
  3602.       the communications information is correct (see Section 3.5).
  3603.  
  3604.  
  3605.  
  3606.  
  3607.  
  3608.  
  3609.  
  3610.  
  3611.  
  3612.  
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.       ────────────────────────────────────────────────────────────────────
  3635.       Oblivion/2 v2.35 Bulletin Board System Documentation              61
  3636.       Section 14                                            ARCHIVE EDITOR
  3637.       ────────────────────────────────────────────────────────────────────
  3638.  
  3639.                           Section 14: ARCHIVE EDITOR
  3640.  
  3641.  
  3642.       The archive editor allows the sysop to setup and define a number of
  3643.       archivers for the use of both him and his users.  This is a powerful
  3644.       menu and should be setup carefully, as errors in the configuration
  3645.       can cause your upload checker to constantly fail files or could even
  3646.       damage some of your archives.
  3647.  
  3648.       The archive editor is instrumental in allowing the users the ability
  3649.       to choose which archiver they would like to use for their personal
  3650.       use.  Their configured archiver can be used to package their
  3651.       downloaded QWK packets, message captures, file lists, etc.
  3652.  
  3653.       Oblivion/2, when dealing with archives, does not rely on the file
  3654.       extension to determine what kind of archive type it is.  A file
  3655.       compressed with PKZip does not have to have a ZIP extension for
  3656.       Oblivion/2 to recognize it.  Oblivion/2 goes by the signature string
  3657.       of the archives when determining the archive type.  A list of
  3658.       different archive signature strings is given below for your use.
  3659.  
  3660.       Once you enter the archive editor, you will be presented with a
  3661.       number of options.  Don't be overwhelmed by them.  There are many,
  3662.       but it is easy enough to setup, properly, a new archive type.
  3663.  
  3664.       ╒══════════════════════════════════════════════════════════════════╕
  3665.       │ Command :  (Q)uit  [,] Change Arc   Oblivion/2 Archiver Editor   │
  3666.       ╘══════════════════════════════════════════════════════════════════╛
  3667.       ╒══════════════════════════════════════════════════════════════════╕
  3668.       │ (A) Archive Name   : PKZIP                                       │
  3669.       │ (B) Archive Ext.   : ZIP                                         │
  3670.       │ (C) Use Zip Viewer : Yes                                         │
  3671.       │ (D) Swap for Coms  : Yes                                         │
  3672.       │ (E) Compress Com   : PKZIP.BAT -rpaex %1 %2                      │
  3673.       │ (F) Extract Com    : PKUNZIP.BAT -o -) %1 %3 %2 -N               │
  3674.       │ (G) View Com       : ZPVIEW.BAT %1 %3                            │
  3675.       │ (H) Delete F Com   : PKZIP.BAT -D %1 %2                          │
  3676.       │ (I) Max Ok/Test Com: 1/PKUNZIP.BAT -T %1                         │
  3677.       │ (J) Add Comment Com: ZPADDCOM.BAT %1 %2 %3                       │
  3678.       │ (K) Add Files Com  : PKZIP.BAT -A %1 %2                          │
  3679.       │ (L) Sig String     : PK                                          │
  3680.       │ (M) Sig Location   : 1                                           │
  3681.       │ (N) List Prefix    : @                                           │
  3682.       │ (O) Checker Only   : No                                          │
  3683.       │ (=) Insert Archiver                                              │
  3684.       │ (-) Delete Archiver                                              │
  3685.       ╘══════════════════════════════════════════════════════════════════╛
  3686.  
  3687.           Option A is the name of the archive.  This name is displayed to
  3688.           the user when they choose their default archiver.
  3689.  
  3690.  
  3691.       ────────────────────────────────────────────────────────────────────
  3692.       Oblivion/2 v2.35 Bulletin Board System Documentation              62
  3693.       Section 14                                            ARCHIVE EDITOR
  3694.       ────────────────────────────────────────────────────────────────────
  3695.  
  3696.           Option B is the usual extension of the archive (ie. ZIP, RAR,
  3697.           UC2, LZH, etc.).
  3698.  
  3699.           Option C determines whether or not you will be able to use the
  3700.           internal ZIP viewer.  In most cases you will not be able to
  3701.           unless the archiver is ZIP compatible.
  3702.  
  3703.           Option D determines whether or not the BBS should swap into
  3704.           memory to execute the archiver commands.  This is probably a
  3705.           good idea as some archivers will not function properly unless
  3706.           given a healthy amount of memory.
  3707.  
  3708.           Option E is the commandline to compress files with this
  3709.           archiver.  Oblivion/2 will look for the executable in the main
  3710.           BBS directory.  If you want to use an archiver and you don't
  3711.           want to place it in your BBS directory, you can call a batchfile
  3712.           to call the archiver instead.  In the above example, PKZIP.BAT
  3713.           looks like this:
  3714.  
  3715.               @echo off
  3716.               @C:\UT\PKZIP.EXE %1 %2 %3 %4 %5 %6 %7 %8 %9
  3717.  
  3718.           In this field, the following percent codes are valid:
  3719.  
  3720.               %1  Path and filename.
  3721.               %2  Wildcard.
  3722.  
  3723.           Option F is the commandline to extract files with this archiver,
  3724.           with the following valid percent codes:
  3725.  
  3726.               %1  Path and filename.
  3727.               %2  Wildcard.
  3728.               %3  Path to the work directory.
  3729.  
  3730.           Option G is the commandline to view the contents of the archive.
  3731.           This must be done using DOS redirection commands and through the
  3732.           use of a batchfile.  The file that contains the output from the
  3733.           archive LIST command must be called ARCLIST. in the work
  3734.           directory for the particular node.  The following percent codes
  3735.           are valid:
  3736.  
  3737.               %1  Path and filename.
  3738.               %2  Wildcard.
  3739.               %3  Path to your work directory.
  3740.  
  3741.           An example batchfile using the DOS redirection commands with
  3742.           PKZip would look like this:
  3743.  
  3744.               @echo off
  3745.               @C:\UT\PKZIP.EXE -V %1 > %2ARCLIST.
  3746.  
  3747.  
  3748.       ────────────────────────────────────────────────────────────────────
  3749.       Oblivion/2 v2.35 Bulletin Board System Documentation              63
  3750.       Section 14                                            ARCHIVE EDITOR
  3751.       ────────────────────────────────────────────────────────────────────
  3752.  
  3753.           Option H is the commandline to delete files from the archive,
  3754.           with the following valid percent codes:
  3755.  
  3756.               %1  Path and filename.
  3757.               %2  Filename to delete OR list of files to delete (read from
  3758.                   the configuration (see Section 3.2)).
  3759.  
  3760.           Option I is the commandline to test the integrity of archives
  3761.           and the maximum errorlevel the archiver can give to report that
  3762.           the archive is ok.  Errorlevels reported back by the archiver
  3763.           that are higher than this number will be considered an integrity
  3764.           test failure.  PKZip archives with the verification (AV)
  3765.           stamping will report an errorlevel of 1 if they are ok, but most
  3766.           errorlevels report back an errorlevel of 0 if they are ok.
  3767.           However, this varies for each archiver, so refer to the archiver
  3768.           documentation to find out for sure.
  3769.  
  3770.           Option J is the commandline to add comments to the archive.
  3771.           Again, you must use the DOS redirection commands in a batchfile
  3772.           in order for this to work.  The following percent codes are
  3773.           valid:
  3774.  
  3775.               %1  Path and filename.
  3776.               %2  Comment file (read from the configuration (see Section
  3777.                   3.2)).
  3778.  
  3779.           Option K is the commandline to add files to the archive (such as
  3780.           BBS advertisements, etc.).  The following percent codes are
  3781.           valid:
  3782.  
  3783.               %1  Path and filename.
  3784.               %2  File to be added OR list of files to be added (read from
  3785.                   the configuration (see Section 3.2)).
  3786.  
  3787.           Option L is the signature string of the particular archive.  See
  3788.           below for some signature strings for different archiver types.
  3789.  
  3790.           Option M is the location (in the file) of the signature string.
  3791.           See below.
  3792.  
  3793.           Option N is the list prefix for files containing a list of files
  3794.           to be either deleted or added, etc.  See below.
  3795.  
  3796.           Option O tells Oblivion/2 whether this archiver is to be used
  3797.           for upload processing only and NOT for personal use by the user
  3798.           (in QWK packaging, message captures, etc.).  Set this to Yes if
  3799.           the archiver type is to be used only by the upload checker and
  3800.           No if it can be used by the users for their personal use.
  3801.  
  3802.  
  3803.  
  3804.  
  3805.       ────────────────────────────────────────────────────────────────────
  3806.       Oblivion/2 v2.35 Bulletin Board System Documentation              64
  3807.       Section 14                                            ARCHIVE EDITOR
  3808.       ────────────────────────────────────────────────────────────────────
  3809.  
  3810.       14.1: Archive Signature Strings
  3811.  
  3812.       Archive signature strings are relatively easy to find out.  However,
  3813.       below is a compiled list of some of the more popular ones.  If you
  3814.       need to use an archiver other than one of the ones listed below, you
  3815.       must refer to the documentation for the information needed
  3816.       (signature string, list prefix, and signature location).
  3817.  
  3818.       NOTE:  I wasn't able to find all of the list prefixes for all of the
  3819.       archivers listed below, so the ones with a ??? in the List Pref
  3820.       field are unknowns and you'll need to find them yourself.
  3821.  
  3822.           PKZip v2.04g
  3823.               Sig      : 504B0304
  3824.               Sig Loc  : 1
  3825.               List Pref: @
  3826.  
  3827.           ARJ v2.50
  3828.               Sig      : 60EA
  3829.               Sig Loc  : 1
  3830.               List Pref: !
  3831.  
  3832.           RAR v1.55
  3833.               Sig      : 52617221
  3834.               Sig Loc  : 1
  3835.               List Pref: @
  3836.  
  3837.           UC2 r3PRO
  3838.               Sig      : 554332
  3839.               Sig Loc  : 1
  3840.               List Pref: @
  3841.  
  3842.           LHA v2.13
  3843.               Sig      : 2D6C68352D
  3844.               Sig Loc  : 3
  3845.               List Pref: @
  3846.  
  3847.           HPACK v0.78A0
  3848.               Sig      : 4850414B
  3849.               Sig Loc  : 1
  3850.               List Pref: ???
  3851.  
  3852.           Hap&Pah TM v3.00
  3853.               Sig      : 91334846
  3854.               Sig Loc  : 1
  3855.               List Pref: ???
  3856.  
  3857.           ZOO v2.10
  3858.               Sig      : DCA7C4FD
  3859.               Sig Loc  : 21
  3860.               List Pref: ???
  3861.  
  3862.       ────────────────────────────────────────────────────────────────────
  3863.       Oblivion/2 v2.35 Bulletin Board System Documentation              65
  3864.       Section 14                                            ARCHIVE EDITOR
  3865.       ────────────────────────────────────────────────────────────────────
  3866.  
  3867.  
  3868.           HA v0.98
  3869.               Sig      : 4841
  3870.               Sig Loc  : 1
  3871.               List Pref: ???
  3872.  
  3873.           DWC v5.10
  3874.               Sig      : 445743
  3875.               Sig Loc  : -4
  3876.               List Pref: None
  3877.  
  3878.           PKPak v3.61 (SEA compatible mode)
  3879.               Sig      : 1A
  3880.               Sig Loc  : 1
  3881.               List Pref: @
  3882.  
  3883.           PAK v2.51
  3884.               Sig      : 1A0A
  3885.               Sig Loc  : 1
  3886.               List Pref: ???
  3887.  
  3888.           HYPER v2.6
  3889.               Sig      : 1A4850
  3890.               Sig Loc  : 1
  3891.               List Pref: None
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898.  
  3899.  
  3900.  
  3901.  
  3902.  
  3903.  
  3904.  
  3905.  
  3906.  
  3907.  
  3908.  
  3909.  
  3910.  
  3911.  
  3912.  
  3913.  
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.       ────────────────────────────────────────────────────────────────────
  3920.       Oblivion/2 v2.35 Bulletin Board System Documentation              66
  3921.       Section 15                                         CONFERENCE EDITOR
  3922.       ────────────────────────────────────────────────────────────────────
  3923.  
  3924.                         Section 15: CONFERENCE EDITOR
  3925.  
  3926.  
  3927.       The conferencing system of Oblivion/2 allows for a lot of
  3928.       flexibility and a lot of room for expansion of your system.  There
  3929.       are two types of conferences:  Messages and Files.  Of each type,
  3930.       you may have up to 255 conferences, making a total of 510
  3931.       conferences allowed on your system.  The conferences can also be
  3932.       used to seperate different sections of your board, as each can be
  3933.       configured with different access requirements.
  3934.  
  3935.       The Conference Editor is located in the sysop menu.  Once you select
  3936.       it, you will be asked whether you want to edit file conferences or
  3937.       message conferences.  Once you have selected the conference type you
  3938.       want to edit, you will be in a menu where you can Add a conference,
  3939.       Delete a conference, Edit a conference, Users with access, List,
  3940.       Reorder or Change Type.  All are self-explanatory, but the Change
  3941.       Type command will allow you to switch between message and file
  3942.       conferences without having to exit the menu.  Reorder will allow you
  3943.       to change the conference IDs of the conferences (ie. making conf 1
  3944.       into conf 2, etc.).  Users with access will display a list of all
  3945.       users with access to the conference.
  3946.  
  3947.       ╒══════════════════════════════════════════════════════════════════╕
  3948.       │ Command :           (Q)uit        Oblivion/2 Conference Editor   │
  3949.       ╘══════════════════════════════════════════════════════════════════╛
  3950.       ╒══════════════════════════════════════════════════════════════════╕
  3951.       │     Conference ID  : 3                                           │
  3952.       ├──────────────────────────────────────────────────────────────────┤
  3953.       │ (A) Description    : DaemonNet International                     │
  3954.       │ (B) ACS            : ~FD                                         │
  3955.       │ (C) Password       :                                             │
  3956.       ╘══════════════════════════════════════════════════════════════════╛
  3957.  
  3958.           The Conference ID is the absolute ID number of the conference.
  3959.           This is the number you will need to use when using the JT or JF
  3960.           menu commands (see Section 22.5.14).
  3961.  
  3962.           Option A is the description, or name, of the current conference.
  3963.  
  3964.           Option B is the access required to access the conference.  In
  3965.           the above example, you must NOT have ACS flag D (in the first
  3966.           user set) to have access.  In the internal conference listing,
  3967.           if a user does not have access to a conference, they don't even
  3968.           see it.  In the above example, a user with user flag D will not
  3969.           see this conference listed.
  3970.  
  3971.           Option C is the password required to enter the conference.  If
  3972.           the user doesn't know the password, they will return to the
  3973.           conference listing.
  3974.  
  3975.  
  3976.       ────────────────────────────────────────────────────────────────────
  3977.       Oblivion/2 v2.35 Bulletin Board System Documentation              67
  3978.       Section 16                                   DATA AREA CONFIGURATION
  3979.       ────────────────────────────────────────────────────────────────────
  3980.  
  3981.                      Section 16: DATA AREA CONFIGURATION
  3982.  
  3983.  
  3984.       The data area system of Oblivion/2 is simply a more configurable
  3985.       form of databases.  With it, you can make almost anything you could
  3986.       think of.  The default Oblivion/2 setup already comes with a BBS
  3987.       List, Rumors, and Oneliners.  All of these are created with the data
  3988.       area system, and can be altered and modified any way the sysop
  3989.       chooses.
  3990.  
  3991.       ╒══════════════════════════════════════════════════════════════════╕
  3992.       │ Command :           (Q)uit         Oblivion/2 Data Area Editor   │
  3993.       ╘══════════════════════════════════════════════════════════════════╛
  3994.       ╒══════════════════════════════════════════════════════════════════╕
  3995.       │ (A) Area Name      : BBS List                                    │
  3996.       │ (B) Access ACS     :                                             │
  3997.       │ (C) Add ACS        :                                             │
  3998.       │ (D) List Prefix    : BBS                                         │
  3999.       │ (E) Add Ansi       : ADDBBS.ANS                                  │
  4000.       │ (F) Sponsor        : Sysop                                       │
  4001.       │ (G) Allow Anonymous: No                                          │
  4002.       │ (H) Store Message  : Yes                                         │
  4003.       │ (I) Data File Name : BBSLIST                                     │
  4004.       │ (J) Show Ansi      : SHOWBBS.ANS                                 │
  4005.       │ (K) AutoDelete     : 0                                           │
  4006.       │ (L) Directory      :                                             │
  4007.       │ (M) Node Number    :                                             │
  4008.       │ (N) Force Message  : No                                          │
  4009.       ╘══════════════════════════════════════════════════════════════════╛
  4010.  
  4011.           Option A is the name of the data area.  In this case, the BBS
  4012.           List.
  4013.  
  4014.           Option B is the access needed to enter the data area.
  4015.  
  4016.           Option C is the access needed to add an entry to the data area.
  4017.  
  4018.           Option D is the prefix (max 5 characters) of the 3-part ansis
  4019.           used in the listing.  In this case, you would need to create the
  4020.           three files BBSSRT.ANS (the header), BBSMID.ANS (the repeating
  4021.           middle), and BBSEND.ANS (the footer).  See Section 27 for more
  4022.           information on making the repeat ansis.
  4023.  
  4024.           Option E is the name of the ansi that is displayed when the user
  4025.           wishes to add to the data area.  In this case, the ansi could be
  4026.           a box or design with BBS name, number, etc. fields in it.  The
  4027.           ansi is going to have to contain some MCI codes (see below).
  4028.  
  4029.           Option F is the name of the user that can edit the data area.
  4030.           You can appoint data area sysops or allow users to maintain
  4031.           their own data areas in this manner.  The user does not have to
  4032.  
  4033.       ────────────────────────────────────────────────────────────────────
  4034.       Oblivion/2 v2.35 Bulletin Board System Documentation              68
  4035.       Section 16                                   DATA AREA CONFIGURATION
  4036.       ────────────────────────────────────────────────────────────────────
  4037.  
  4038.           have sysop access in order to edit their data area.
  4039.  
  4040.           Option G defines whether or not additions can be made
  4041.           anonymously.  If Yes, users will be allowed to add anonymously
  4042.           to the data area.
  4043.  
  4044.           Option H defines whether or not this data area will be permitted
  4045.           to store an additional message.  Users will be able to fill out
  4046.           the basic information, and then, if this option is Yes, they
  4047.           will be prompted as to whether or not they would like to add an
  4048.           accompanying message.  In the case of a BBS List, this could be
  4049.           used to store an ansi or ascii advertisement of the board.
  4050.  
  4051.           Option I is the name of the data file, where all the information
  4052.           in this data area is stored.  It is stored in the same manner as
  4053.           message areas, so it should be unique from any other data area
  4054.           or message base.
  4055.  
  4056.           Option J is the name of the ansi used to show the information
  4057.           contained in an entry (it should show what the users entered
  4058.           when they added to the data area).  Since in the listings, you
  4059.           can only put in a certain amount of information, this would be
  4060.           used to show more detailed information, and should contain the
  4061.           same MCI codes as the Add Ansi contained.
  4062.  
  4063.           Option K defines the maximum number of entries in the data area.
  4064.           Entries will be auto-purged to remain equal to or lower than
  4065.           this number.  A value of 0 tells the BBS not to auto-purge
  4066.           anything.
  4067.  
  4068.           Option L is the directory to export messages to when DATAMAIL is
  4069.           called.  Because you can network these data areas between
  4070.           Oblivion/2 systems, this would work much the same as any message
  4071.           base.  DATAMAIL is used to export and import messages to and
  4072.           from the data base files, while your mail tosser would look in
  4073.           this directory to scan for outbound "mail".
  4074.  
  4075.           Option M is your node address for the network you are in that is
  4076.           allowing the networked data area.  If the area is the ImpactNet
  4077.           Networked BBS List, you would put your ImpactNet node address
  4078.           here and nothing else.
  4079.  
  4080.           Option N defines whether or not the additional message will be
  4081.           optional or forced.  If set to Yes, the users will be forced
  4082.           into the message editor.
  4083.  
  4084.       After you have completed configuring this part of the data area
  4085.       configuration and you press "Q" to quit, you will be prompted as to
  4086.       whether or not you want to edit the Options.  Select Yes and you
  4087.       will see a screen similar to that below:
  4088.  
  4089.  
  4090.       ────────────────────────────────────────────────────────────────────
  4091.       Oblivion/2 v2.35 Bulletin Board System Documentation              69
  4092.       Section 16                                   DATA AREA CONFIGURATION
  4093.       ────────────────────────────────────────────────────────────────────
  4094.  
  4095.       ╒══════════════════════════════════════════════════════════════════╕
  4096.       │ Command :           (Q)uit          Oblivion/2 Data MCI Editor   │
  4097.       ╘══════════════════════════════════════════════════════════════════╛
  4098.       ╒══════════════════════════════════════════════════════════════════╕
  4099.       │ (O) Option         : BBS Name                                    │
  4100.       │ (L) Length         : 35                                          │
  4101.       │ (M) MCI Code       : BN                                          │
  4102.       │ ([) Previous Option                                              │
  4103.       │ (]) Next Option                                                  │
  4104.       │ (D) Delete Option                                                │
  4105.       │ (A) Add Option                                                   │
  4106.       ╘══════════════════════════════════════════════════════════════════╛
  4107.  
  4108.           Option O is the name of the option.
  4109.  
  4110.           Option L is how long this option's field can be.  In the above
  4111.           example, the option has a field that allows a maximum of 35
  4112.           characters to be entered.
  4113.  
  4114.           Option M is the MCI code for this option.  In the above example,
  4115.           the defined MCI code is BN, so in your Add Ansi and Show Ansi
  4116.           you would use either |BN or %BN in the ansi behind a "BBS Name:"
  4117.           prompt or something similar.  The beginning of the MCI code is
  4118.           where the user will be prompted to enter their input.  For
  4119.           example:
  4120.  
  4121.               BBS Name:  |BN
  4122.                          ^---- user's cursor would go here.
  4123.  
  4124.           The actual MCI codes are either |BN or %BN.  As you can see
  4125.           above, the | and % are not to be placed in the editor.  Those
  4126.           are simply markers in the ansi and should not be placed in the
  4127.           Options Editor.
  4128.  
  4129.           If you used, as shown above, |BN in your ansi, the user would be
  4130.           able to press enter through the field; in other words it is
  4131.           abortable.  If, however, you used %BN, Oblivion/2 would not move
  4132.           the cursor to the next field until the user had entered some
  4133.           data in that particular field.
  4134.  
  4135.       Data areas take a little bit of getting used to, but once you get
  4136.       the hang of it, you can do almost anything you like, and a properly
  4137.       setup data area will be pleasing to both you and your users.
  4138.  
  4139.       As it was stated above, you can network the data areas.  When a user
  4140.       adds an entry to a networked data area, it is similar to writing an
  4141.       echomail message, and the entry will be exported in the same manner
  4142.       that a message would.  There is no special technique to use with
  4143.       your mail tosser.  You would merely setup a networked data area
  4144.       exactly the same as you would an echomail area.  The JAM base
  4145.       defined above must be the same as that defined in the mail tosser
  4146.  
  4147.       ────────────────────────────────────────────────────────────────────
  4148.       Oblivion/2 v2.35 Bulletin Board System Documentation              70
  4149.       Section 16                                   DATA AREA CONFIGURATION
  4150.       ────────────────────────────────────────────────────────────────────
  4151.  
  4152.       for it to work correctly.
  4153.  
  4154.  
  4155.  
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162.  
  4163.  
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.  
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190.  
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196.  
  4197.  
  4198.  
  4199.  
  4200.  
  4201.  
  4202.  
  4203.  
  4204.       ────────────────────────────────────────────────────────────────────
  4205.       Oblivion/2 v2.35 Bulletin Board System Documentation              71
  4206.       Section 17                                                     EMAIL
  4207.       ────────────────────────────────────────────────────────────────────
  4208.  
  4209.                               Section 17: EMAIL
  4210.  
  4211.  
  4212.       Email is private user to user mail.  This is as close to private
  4213.       mail as any system is going to get with a BBS.
  4214.  
  4215.  
  4216.       17.1: The Email Tag System
  4217.  
  4218.  
  4219.       The Email Tag system is a powerful system that gives you extended
  4220.       control and manipulation over your system's electronic mail
  4221.       features.  The tag system allows you to assign certain tags to
  4222.       certain types of email.
  4223.  
  4224.       For example, you could assign new user application mail a tag of 1.
  4225.       Then you could give a user (other than the sysop) access to read
  4226.       mail with a tag of 1 (your co-sysop for example).  Then the co-sysop
  4227.       would be able to validate new users.  This system can be used for
  4228.       many other things as well as this.  The uses are endless.
  4229.  
  4230.       The email tag system has four basic menu commands which are as
  4231.       follows:
  4232.  
  4233.           E+      Allows user to read all mail with the specified tag.
  4234.                   (Use the E$ and E# commands to set the tag number).
  4235.           E-      Allows user to read only mail that is addressed to him,
  4236.                   taking away the email tag access.
  4237.           E$      Sets the incoming email tag to the value of CString,
  4238.                   where the CString is of a value between 0 and 255, where
  4239.                   0 allows user to see ALL mail regardless of tag (ie.
  4240.                   general public message).
  4241.           E#      Sets the outgoing email tag to the value of CString,
  4242.                   where the CString is a value between 0 and 255.
  4243.  
  4244.       The following is how you would go about setting up the above example
  4245.       of allowing a co-sysop to read the new user application letter:
  4246.  
  4247.           Step 1: Stack an E$ command with a CString of 1 before the apply
  4248.                   command at the matrix.
  4249.           Step 2: Stack a E$ command with a CString of 0 after the apply
  4250.                   command at the matrix.
  4251.           Step 3: Add two commands to the Email menu.  The first being E$
  4252.                   with a CString of 1.  The second command is an E+
  4253.                   command.  These commands should be stacked together so
  4254.                   that your co-sysop can press one key to read the new
  4255.                   user mail.
  4256.           Step 4: Add two commands to the Email menu.  The first being E$
  4257.                   with a CString of 0.  The second should be an E-
  4258.                   command.  These commands should be stacked together so
  4259.                   that your co-sysop can press one key to return back to
  4260.  
  4261.       ────────────────────────────────────────────────────────────────────
  4262.       Oblivion/2 v2.35 Bulletin Board System Documentation              72
  4263.       Section 17                                                     EMAIL
  4264.       ────────────────────────────────────────────────────────────────────
  4265.  
  4266.                   his normal email privelidges (reading his own mail).
  4267.  
  4268.  
  4269.  
  4270.       17.2: Group Mail
  4271.  
  4272.  
  4273.       Another nice feature of Oblivion/2 and the way it handles electronic
  4274.       mail is the Group Mail feature.  This will allow users to send mail
  4275.       to an entire defined group of people (kind of like mass emailing).
  4276.       You may have this group open for users to define or you can restrict
  4277.       it so that only the sysop can add and delete groups.
  4278.  
  4279.       When you select to edit an email group, you will be asked if you
  4280.       want to add, delete, or edit a group.  If you select to add a group,
  4281.       you will be asked a number of questions.
  4282.  
  4283.           Enter Group Name:
  4284.  
  4285.               This is the name you are assigning this group.  This will be
  4286.               used by users.  When a user enters email to this group (in
  4287.               the To: field) the mail will be sent to all members of this
  4288.               group.
  4289.  
  4290.           Should this group be for your use only?
  4291.  
  4292.               If you select Yes, you will be the only person able to use
  4293.               this group.  If set to No, anyone can send mail to this
  4294.               group.
  4295.  
  4296.           Should this group be for members use only?
  4297.  
  4298.               If Yes, only the defined members of this group will be able
  4299.               to use it.  If set to No, anyone, regardless of whether they
  4300.               are in the group or not, will be able to use it.
  4301.  
  4302.           Include yourself in this group?
  4303.  
  4304.               If Yes, you will be a member of the group.  If No, you will
  4305.               not be a member of it.
  4306.  
  4307.           Set group by ACS?
  4308.  
  4309.               If Yes, you will be prompted for an ACS string.  All users
  4310.               who match this ACS string will be added to the group.  For
  4311.               example, if you enter A18, all users 18 years old and older
  4312.               will be added to the group.
  4313.  
  4314.           Enter member to add:
  4315.  
  4316.               This is where you can define the single members of the group
  4317.  
  4318.       ────────────────────────────────────────────────────────────────────
  4319.       Oblivion/2 v2.35 Bulletin Board System Documentation              73
  4320.       Section 17                                                     EMAIL
  4321.       ────────────────────────────────────────────────────────────────────
  4322.  
  4323.               by entering in their name.  Wildcarding of names is allowed.
  4324.               If you enter * alone, you will be prompted for users one by
  4325.               one.  If you entered H*, all user aliases beginning with the
  4326.               letter H will be prompted for you to add.
  4327.  
  4328.  
  4329.  
  4330.  
  4331.  
  4332.  
  4333.  
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.  
  4351.  
  4352.  
  4353.  
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.  
  4363.  
  4364.  
  4365.  
  4366.  
  4367.  
  4368.  
  4369.  
  4370.  
  4371.  
  4372.  
  4373.  
  4374.  
  4375.       ────────────────────────────────────────────────────────────────────
  4376.       Oblivion/2 v2.35 Bulletin Board System Documentation              74
  4377.       Section 18                                           THE CHAT SYSTEM
  4378.       ────────────────────────────────────────────────────────────────────
  4379.  
  4380.                          Section 18: THE CHAT SYSTEM
  4381.  
  4382.       The chat system of Oblivion/2 is one that is a little more versatile
  4383.       than most other chat systems.  With it you can define your own chat
  4384.       screen and have a little control over the chat logging system.
  4385.  
  4386.       There are a few commands that can be used when chat mode is engaged:
  4387.  
  4388.           /TYPE   Allows the sysop to type any file in the textfile
  4389.                   directory.
  4390.           /PAGE   In single-line chat, this command will page the sysop.
  4391.                   In split-screen chat, this command will page the user.
  4392.           F6      This command is used by the sysop to toggle on/off the
  4393.                   chat logs.
  4394.  
  4395.  
  4396.  
  4397.       18.1: Configurable Chat Screen
  4398.  
  4399.  
  4400.       The configurable chat screen was born of the idea that every sysop
  4401.       should be able to make a board so unique that even the entire chat
  4402.       system was 100% sysop defined.  With it, you can design horizontal
  4403.       chat screens, vertical, diagonal, anything that pops into your mind.
  4404.       It is so versatile that you can do almost anything you like with it,
  4405.       instead of simply designing an enter chat and exit chat string.
  4406.  
  4407.       To define your own chat screen, follow these instructions:
  4408.  
  4409.       1) Draw the ansi design for your chat screen.  This file must be
  4410.          called CHATDEF.ANS and must be in your textfile directory.
  4411.  
  4412.       2) Using TheDraw, place CHATDEF.ANS into animation mode (ALT-J, A)
  4413.          and choose your scanning method.  Generally, TOP scan is chosen,
  4414.          but you can use any scanning method you like.
  4415.  
  4416.       3) You now have to define the margins for the sysop half of the chat
  4417.          screen, and then the user half of the screen.  This is done using
  4418.          special MCI codes, which are as follows:
  4419.  
  4420.           ^xx     Sysop half, left margin
  4421.           &xx     Sysop half, right margin
  4422.           `xx     User half, left margin
  4423.           ~xx     User half, right margin
  4424.  
  4425.          These MCI codes will tell Oblivion/2 where to word-wrap each line
  4426.          when chat is engaged.  The below is a sample of a chat screen
  4427.          showing sysop and user margin MCI codes:
  4428.  
  4429.  
  4430.  
  4431.  
  4432.       ────────────────────────────────────────────────────────────────────
  4433.       Oblivion/2 v2.35 Bulletin Board System Documentation              75
  4434.       Section 18                                           THE CHAT SYSTEM
  4435.       ────────────────────────────────────────────────────────────────────
  4436.  
  4437.          ^01                                                          &01
  4438.          ^02                                                          &02
  4439.          ────|SN────────────────[ Split Screen Chat ]────────|UN─────────
  4440.          `01                                                          ~01
  4441.          `02                                                          ~02
  4442.  
  4443.          As you can see, the first MCI code (^xx and `xx respectively)
  4444.          will tell Oblivion/2 where to begin typing the text to the
  4445.          screen.  The first letter typed on the beginning of any line will
  4446.          begin where the ^ and ` characters are placed.  So if the sysop
  4447.          typed the word "Hello" on the first line, it would look like
  4448.          this:
  4449.  
  4450.          Hello                                                        &01
  4451.          ^02                                                          &02
  4452.          ────|SN────────────────[ Split Screen Chat ]────────|UN─────────
  4453.          `01                                                          ~01
  4454.          `02                                                          ~02
  4455.  
  4456.          The MCI codes have been expanded from "xx" to a number value.
  4457.          This tells Oblivion/2 which line of text it is working with.  The
  4458.          ^01 and &01 MCI codes tell Oblivion/2 to begin line 01 for the
  4459.          sysop, and end line 01 for the sysop.  So these MCI codes must be
  4460.          on the same line, indicating start and stop "margins" otherwise
  4461.          your screen will become a huge mess.
  4462.  
  4463.          The word-wrapping feature begins where the right margin MCI codes
  4464.          (&xx and ~xx respectively) begin.  Oblivion/2 will word-wrap as
  4465.          soon as it encounters the & and ~ characters.  If the user typed
  4466.          in a full line of text and continued without pressing the enter
  4467.          key, the following would be displayed:
  4468.  
  4469.          ^01                                                          &01
  4470.          ^02                                                          &02
  4471.          ────|SN────────────────[ Split Screen Chat ]────────|UN─────────
  4472.          This is a really cool board, I love it.  I don't think you
  4473.          could have done anything better.                             ~02
  4474.  
  4475.          Because the word "could" was longer than the allowable space
  4476.          after the word "you" and before the ~01 MCI code, it was wrapped,
  4477.          beginning where the `02 MCI code began.
  4478.  
  4479.          You can also use the following two MCI codes in your chat screen.
  4480.  
  4481.           |SN     Sysop name
  4482.           |UN     User name
  4483.  
  4484.          These MCI codes are not required in your chat screen, and are
  4485.          there only if you wish to use them.
  4486.  
  4487.          The following is an example of a vertical chat screen:
  4488.  
  4489.       ────────────────────────────────────────────────────────────────────
  4490.       Oblivion/2 v2.35 Bulletin Board System Documentation              76
  4491.       Section 18                                           THE CHAT SYSTEM
  4492.       ────────────────────────────────────────────────────────────────────
  4493.  
  4494.  
  4495.          ──────|SN──────────────────────┬──────|UN───────────────────────
  4496.          ^01                          &01`01                          ~01
  4497.          ^02                          &02`02                          ~02
  4498.          ^03                          &03`03                          ~03
  4499.          ───────────────────────────────┴────────────────────────────────
  4500.  
  4501.          For the user's left margin, you want to place the MCI codes
  4502.          directly after the │ character so that the user can have as much
  4503.          typing room as possible, and since their typing begins at the
  4504.          position the ` character holds, this will ensure it.  The sysop's
  4505.          right margin MCI codes should be as shown above, with an extra
  4506.          space before the │ character, as this will ensure that the line
  4507.          does not get overwritten.  As shown above, the MCI codes
  4508.          overwrite the middle line.  However, since you animate the codes
  4509.          on "top" of the line in TheDraw, the line will be visible while
  4510.          the MCI codes will become invisible as Oblivion/2 interprets
  4511.          them.
  4512.  
  4513.          As mentioned before in regards to repeat ansis, TheDraw will try
  4514.          to use the following segment of ansi code:
  4515.  
  4516.           ^01esc[34C&01
  4517.  
  4518.          This is not good and may mess up your screen, because what it is
  4519.          doing is telling the cursor to move 34 characters to the right
  4520.          and then draw the &01 code.  You should always hand-edit your
  4521.          finished product so that it goes to absolute screen positions,
  4522.          like so:
  4523.  
  4524.           ^01esc[2;37H&01
  4525.  
  4526.          This will tell the cursor to go to row 2, column 37, and then
  4527.          insert the &01 command.  The esc is, of course, the ALT-027 key.
  4528.          You may want to do this with the |SN and |UN MCI codes as well.
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535.  
  4536.  
  4537.  
  4538.  
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.  
  4545.  
  4546.       ────────────────────────────────────────────────────────────────────
  4547.       Oblivion/2 v2.35 Bulletin Board System Documentation              77
  4548.       Section 19                                GENERIC MENU CONFIGURATION
  4549.       ────────────────────────────────────────────────────────────────────
  4550.  
  4551.                     Section 19: GENERIC MENU CONFIGURATION
  4552.  
  4553.       The generic menu system was designed for sysops who wanted an easy
  4554.       to use, yet powerful, menuset system.  You could almost say it was
  4555.       designed with the "lazy sysop" in mind.  The generic menu system is,
  4556.       basically, a repeat method of menus.  The commands and keys are read
  4557.       from the menu file so if you change your menus, you need never
  4558.       change your ansis, no matter how many times you change them.  This
  4559.       is, simply, the answer to many sysop's annoyances, in terms of ansi
  4560.       menu editing.
  4561.  
  4562.       This system will allow the sysop to design a nice looking menuset
  4563.       and never maintain it again.  It is a simple, yet powerful, ansi
  4564.       menu system, as the ansis "update" themselves automatically whenever
  4565.       a change is made.
  4566.  
  4567.       The design is the same as Repeat Method ansis.  The following MCI
  4568.       codes are used in the repeat generic menu ansis:
  4569.  
  4570.       GENSRT  .ANS - Generic Menu Template Header
  4571.           |MT      Menu title
  4572.  
  4573.       GENMID  .ANS - Generic Menu Template Middle (Repeat)
  4574.           |K?      Keys for option ? in the line
  4575.           |D?      Description for option ? in the line
  4576.  
  4577.       GENEND  .ANS - Generic Menu Template Footer
  4578.  
  4579.       Now, if you read Section 27 on the Repeat Ansi Method, this will be
  4580.       very easy for you as it follows the basic principles of ansi
  4581.       creation as the other Repeat Method ansis.  The header and footer
  4582.       ansis (GENSRT.ANS and GENEND.ANS respectively) are very
  4583.       straightforward.  These should not cause you any problems.  The
  4584.       middle ansi, GENMID.ANS, needs a little explaining.
  4585.  
  4586.       Before you begin designing your middle ansi, you need to decide how
  4587.       many options you want per column in your generic menus.  This is an
  4588.       option defined in the System Configuration (see Section 3.2).  The
  4589.       limits are 1-9 (or 1-9 options per line).  After you have defined
  4590.       this value, you are ready to make your generic menus.
  4591.  
  4592.       The two pipe codes, |K? and |D? that make up GENMID.ANS are very
  4593.       easy to understand.  |K? will print the key (what the user must
  4594.       press to access the option), and |D? will print the description of
  4595.       the command.  Perhaps you wanted to make a generic set of 3 columns,
  4596.       with 5 options per row.  You would set the value (discussed above)
  4597.       in the System Configuration to 5.  Then you would have to edit the
  4598.       GENMID.ANS and place your MCI codes in a similar fashion:
  4599.  
  4600.       [|K1] |D1               [|K2] |D2               [|K3] |D3
  4601.  
  4602.  
  4603.       ────────────────────────────────────────────────────────────────────
  4604.       Oblivion/2 v2.35 Bulletin Board System Documentation              78
  4605.       Section 19                                GENERIC MENU CONFIGURATION
  4606.       ────────────────────────────────────────────────────────────────────
  4607.  
  4608.       With a design like this, your generic menu will look something like
  4609.       this:
  4610.  
  4611.       [1] Option #1           [2] Option #2           [3] Option #3
  4612.       [4] Option #4           [5] Option #5           [6] Option #6
  4613.  
  4614.       And so on, for a total of 5 lines.  This menu would fit a maximum of
  4615.       15 total options (3 columns x 5 rows).
  4616.  
  4617.       The creation of the ansis is very simple.  And the fact that you
  4618.       only have to do it once is very appealing.  Now that you have
  4619.       created your generic menuset, you have a few choices of places to
  4620.       put them.  You can code the menu into a status screen library, or
  4621.       you can code it into a menuset library.
  4622.  
  4623.       If you wish to code it into a status screen library, you must
  4624.       include the three-part GENxxx.ANS files with the other files in the
  4625.       specific library in your temporary directory.  STATCODE.EXE will
  4626.       automatically include them in the completed LIB/NDX files, along
  4627.       with your other status screens.
  4628.  
  4629.       If you wish to code the generic menus into a library of their own,
  4630.       you'll need to include a commandline option to MENUCODE.EXE.  This
  4631.       switch, /G, will code generic menus into a menu library file.  An
  4632.       example commandline would be:
  4633.  
  4634.           MENUCODE.EXE OBV2 C:\TEMP /G
  4635.  
  4636.       This will code OBV2.LIB (with the index files being OBV2.NDX) with
  4637.       the GENxxx.ANS files found in the directory C:\TEMP, along with any
  4638.       other files in the directory.  This way, you can use a combination
  4639.       of regular ansis for some menus, and use the generic menus for the
  4640.       rest.
  4641.  
  4642.       You can also use another feature when coding the generic menus into
  4643.       your menuset libraries.  You can override the System Configuration
  4644.       setting (see Section 3.2) of the options per row.  In the above
  4645.       example, we had 5 options per row.  Perhaps you wanted to change
  4646.       that value to 3 options per row for this SPECIFIC menuset alone.
  4647.       You would use the following commandline to do this:
  4648.  
  4649.           MENUCODE.EXE 3OBV2 C:\TEMP /G
  4650.  
  4651.       The "3" before the rest of the library name tells Oblivion/2 that
  4652.       this generic menuset will be using 3 options per row, as opposed to
  4653.       the default of 5 options per row.  This number can be anywhere
  4654.       within the defined limits, 1-9.  This allows you to make different
  4655.       generic menus and let your users select which one they prefer.
  4656.       Please note that if you use this option, your compiled library will
  4657.       be called 3OBV2.LIB and not just OBV2.LIB.
  4658.  
  4659.  
  4660.       ────────────────────────────────────────────────────────────────────
  4661.       Oblivion/2 v2.35 Bulletin Board System Documentation              79
  4662.       Section 20                                                  MINI-DOS
  4663.       ────────────────────────────────────────────────────────────────────
  4664.  
  4665.                              Section 20: MINI-DOS
  4666.  
  4667.  
  4668.       The Mini-DOS system in Oblivion/2 is a handy feature for remote
  4669.       sysops to do some maintenance on the system.  It supports the
  4670.       following "DOS" commands:
  4671.  
  4672.       X
  4673.       VZ <filename.zip>       Views the contents of a zip file
  4674.       DIR                     Displays the files in the current directory
  4675.       CD <dirname>            Changes Directories
  4676.       MD <dirname>            Creates Directory
  4677.       RD <dirname>            Removes Directory
  4678.       EDIT <filename.ext>     Edits text file
  4679.       HELP                    Displays help
  4680.       TYPE <filename.ext>     Display a text/ansi file
  4681.       COPY <source> <dest>    Copy a file
  4682.       SEND <filename.ext>     Sends a file to the user from local machine
  4683.       RECV <filename.ext>     Recieves a file from the user
  4684.       HANGUP                  Hangsup on user
  4685.       EXIT                    Return from minidos
  4686.  
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.  
  4699.  
  4700.  
  4701.  
  4702.  
  4703.  
  4704.  
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.  
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.  
  4717.       ────────────────────────────────────────────────────────────────────
  4718.       Oblivion/2 v2.35 Bulletin Board System Documentation              80
  4719.       Section 21                            ECHOMAIL NETWORKING OBLIVION/2
  4720.       ────────────────────────────────────────────────────────────────────
  4721.  
  4722.                   Section 21: ECHOMAIL NETWORKING OBLIVION/2
  4723.  
  4724.  
  4725.  
  4726.       21.1: Using a FrontEnd Mailer with Oblivion/2
  4727.  
  4728.  
  4729.       It is very easy to integrate a frontend mailer with Oblivion/2.
  4730.       There are many mailers to choose from, such as InterMail, FrontDoor,
  4731.       D'Bridge, and Portal of Power, to name a few.  Each runs a little
  4732.       differently, but the concepts are basically the same.
  4733.  
  4734.       When you have set up your mailer and want to have it exit to load
  4735.       your BBS, there are a few different methods you can use, depending
  4736.       largely upon which mailer you have chosen.  The two most common
  4737.       methods are the long batch method and the triple-batch method.  Your
  4738.       mailer documentation will explain these in more detail (or describe
  4739.       something completely different, again depending on which mailer you
  4740.       are using), but the basics are thus.  The long batch method means
  4741.       you use one batchfile to run everything.  The triple-batch method
  4742.       means your mailer, when receiving a human caller for the BBS, will
  4743.       create a batchfile (typically called DOBBS.BAT) which will then
  4744.       call another, definable batchfile, typically called EXEBBS.BAT.  Of
  4745.       course, the names of these batchfiles depend upon which mailer you
  4746.       are using.
  4747.  
  4748.       The triple-batch method is the easiest, and perhaps the fastest.
  4749.       With it you define an errorlevel, in your mailer, which, when a
  4750.       human caller for the BBS is received, will exit with the defined
  4751.       errorlevel.  For this example, the errorlevel defined will be 99.
  4752.       Your batchfile would look something like this, after you have called
  4753.       the mailer:
  4754.  
  4755.           :start
  4756.           mcmail.exe %1 %2 %3 %4
  4757.  
  4758.           if errorlevel 99 bbsbat1
  4759.  
  4760.       This will call up MCMAIL.EXE (the main executable for McMail) with
  4761.       any commandline parameters, and if McMail exits with an errorlevel
  4762.       of 99, will load BBSBAT1.BAT (which McMail creates).  The
  4763.       BBSBAT1.BAT will look something like this:
  4764.  
  4765.           SPAWNBBS 14400 1
  4766.  
  4767.       What this does is call SPAWNBBS.BAT with the connect speed (14400)
  4768.       and the com port (1).  Your SPAWNBBS.BAT, then, to load Oblivion/2
  4769.       would look like this:
  4770.  
  4771.           OBV.EXE -B %1 -N 1 -A
  4772.  
  4773.  
  4774.       ────────────────────────────────────────────────────────────────────
  4775.       Oblivion/2 v2.35 Bulletin Board System Documentation              81
  4776.       Section 21                            ECHOMAIL NETWORKING OBLIVION/2
  4777.       ────────────────────────────────────────────────────────────────────
  4778.  
  4779.       This is very simple.  It loads Oblivion/2 with a baudrate of 14400
  4780.       (the first parameter after SPAWNBBS in the BBSBAT1.BAT file), loads
  4781.       node 1, and -A tells Oblivion/2 to exit back to DOS when the user logs
  4782.       off, instead of cycling back to the WFC screen.
  4783.  
  4784.       The longbatch method is a little more complex.  With it, a series of
  4785.       errorlevels are predefined for you.  These are typically 24 for a
  4786.       2400 connect, 144 for a 14400 connect, etc.  Your main batchfile
  4787.       will look, then, like this:
  4788.  
  4789.           :start
  4790.           mcmail.exe %1 %2 %3 %4
  4791.  
  4792.           if errorlevel 144 goto 14400
  4793.           if errorlevel  24 goto 2400
  4794.  
  4795.           :14400
  4796.           obv.exe -B 14400 -N 1 -A
  4797.           goto start
  4798.  
  4799.           :2400
  4800.           obv.exe -B 2400 -N 1 -A
  4801.           goto start
  4802.  
  4803.       This is a simple method as well, but involves bigger batchfiles and
  4804.       a little more typing.  For each connect rate is a defined
  4805.       errorlevel, as shown above.  For each errorlevel, you must define a
  4806.       corresponding label for the batchfile to go to should McMail exit
  4807.       with that errorlevel.  And then, as shown above, for each label, you
  4808.       must define what baudrate Oblivion/2 must then be loaded with.
  4809.  
  4810.       It is very simple to incorporate Oblivion/2 with a frontend mailer.
  4811.       You can have it fully functional within a matter of minutes.  There
  4812.       are no hidden tricks, just simple and straightforward.
  4813.  
  4814.  
  4815.  
  4816.       21.2: Using a Mail Processor with Oblivion/2
  4817.  
  4818.  
  4819.       There as many different mail processors out there as there are
  4820.       frontend mailers.  A mail processor will import inbound echomail or
  4821.       netmail, and export outbound echomail or netmail.  It can also
  4822.       maintain your JAM message bases.  Two of the most popular mail
  4823.       tossers are FastEcho and GEcho.  It is very simple to set these up
  4824.       with Oblivion/2, as both support JAM and Fido/*.MSG.  Your mail
  4825.       processor will also come with a maintenance utility, FEUtil for
  4826.       FastEcho, and MBUtil for GEcho.  These will perform maintenance on
  4827.       your JAM bases, purging, deleting, renumbering, and linking
  4828.       messages, to name a few.
  4829.  
  4830.  
  4831.       ────────────────────────────────────────────────────────────────────
  4832.       Oblivion/2 v2.35 Bulletin Board System Documentation              82
  4833.       Section 21                            ECHOMAIL NETWORKING OBLIVION/2
  4834.       ────────────────────────────────────────────────────────────────────
  4835.  
  4836.       As most mail processors are fairly generic in terms of how they run,
  4837.       they won't be explained in detail here.  Suffice it to say that if
  4838.       you have an operational mail processor, it will work with
  4839.       Oblivion/2.  Please read your mail processor documentation for
  4840.       exactly how to set them up to work with the JAM message base type.
  4841.       Also refer to Section 25.2 for more information on the JAM message
  4842.       bases.
  4843.  
  4844.  
  4845.  
  4846.  
  4847.  
  4848.  
  4849.  
  4850.  
  4851.  
  4852.  
  4853.  
  4854.  
  4855.  
  4856.  
  4857.  
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.  
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.  
  4881.  
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.       ────────────────────────────────────────────────────────────────────
  4889.       Oblivion/2 v2.35 Bulletin Board System Documentation              83
  4890.       Section 22                                               MENU EDITOR
  4891.       ────────────────────────────────────────────────────────────────────
  4892.  
  4893.                            Section 22: MENU EDITOR
  4894.  
  4895.  
  4896.       The Oblivion/2 menu editor is THE single most powerful function in
  4897.       this package.  It's power is virtually unmatched by any other BBS
  4898.       software package.  The menu editor will allow you to modify,
  4899.       customize, and create a completely original menu system that could,
  4900.       in essense, create a totally original feel for each different
  4901.       Oblivion/2 system.
  4902.  
  4903.       The menu editor is simple to use, but is built on a complex series
  4904.       of menu commands.  These menu commands are the heart and soul of any
  4905.       BBS, and the wide variety and flexibility offered by Oblivion/2's
  4906.       menu commands make it a force to be reckoned with.  Commands can be
  4907.       used alone or stacked together, they can be restricted by access
  4908.       levels, user ACS flags, age, conference number, number of calls, or
  4909.       a whole host of other levels.
  4910.  
  4911.       Because of the variety of Oblivion/2 menu "programming" and the
  4912.       sometimes complex menuing systems you can create, it is impossible
  4913.       to clearly illustrate just how powerful the system is.  In fact,
  4914.       even if many examples and illustrations were given, the
  4915.       documentation would only grow larger than could be handled.  The
  4916.       adventure, the actual exploring, relies with you.  There are many
  4917.       "third-party" examples of menu "programming" available that will
  4918.       give you plenty of ideas, however please be aware and always
  4919.       remember that you will NEVER know how powerful the menuing system is
  4920.       unless you can get your hands in and get them dirty yourself.  In
  4921.       the next few sections, all of the available menu commands will be
  4922.       explained to you.  It is up to you to decide what to do with them.
  4923.  
  4924.  
  4925.  
  4926.       22.1: Using the Menu Editor
  4927.  
  4928.  
  4929.       Oblivion/2's menu editor is much like Telegard's (and it's
  4930.       succeeding hacks).  However, it is far more advanced and has more
  4931.       expanded functions.
  4932.  
  4933.       The main menu editing screen consists of a few major functions that
  4934.       need explaining.
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.  
  4941.  
  4942.  
  4943.  
  4944.  
  4945.       ────────────────────────────────────────────────────────────────────
  4946.       Oblivion/2 v2.35 Bulletin Board System Documentation              84
  4947.       Section 22                                               MENU EDITOR
  4948.       ────────────────────────────────────────────────────────────────────
  4949.  
  4950.       ╒══════════════════════════════════════════════════════════════════╕
  4951.       │ Command :           (Q)uit              Oblivion/2 Menu Editor   │
  4952.       ╘══════════════════════════════════════════════════════════════════╛
  4953.       ╒══════════════════════════════════════════════════════════════════╕
  4954.       │ (A) Name           : Main Menu                                   │
  4955.       │ (B) Password       :                                             │
  4956.       │ (C) Fallback Menu  :                                             │
  4957.       │ (D) Help ID        : MAIN                                        │
  4958.       │ (E) Name In Prompt : Main                                        │
  4959.       │ (F) Menu Title     : Main Menu                                   │
  4960.       │ (G) Pulldown File  :                                             │
  4961.       │ (H) Edit Options                                                 │
  4962.       │ (I) Generic Menus                                                │
  4963.       ╘══════════════════════════════════════════════════════════════════╛
  4964.  
  4965.           Option A is the name of the menu.  This has no bearing on the
  4966.           menu itself other than as an identifier for you.
  4967.  
  4968.           Option B is an optional password to the menu.  If a user does
  4969.           not have the password, they are sent back to the menu they were
  4970.           attempting to leave.
  4971.  
  4972.           Option C is the fallback menu.  This is the menu that is
  4973.           returned to on an issued fallback command.  If no fallback menu
  4974.           is specified, then the BBS will make the last menu in the stack
  4975.           as the fallback menu.
  4976.  
  4977.           Option D is the ID that is hardcoded into the menu libraries.
  4978.           For example, in the above example, the Help ID of "MAIN" would
  4979.           make Oblivion/2 look for a file called MAIN.ANS when compiling
  4980.           the menu libraries and would be shown to users issuing a "?" at
  4981.           the menu prompt.
  4982.  
  4983.           Option E is the menu title to be displayed in the menu prompt.
  4984.  
  4985.           Option F is not used at the moment and is merely a reserved
  4986.           field.  In the future, there may be third-party utilities that
  4987.           use this field.
  4988.  
  4989.           Option G is the pulldown ansi.  See Section 22.2 for more
  4990.           information on the pulldown system.
  4991.  
  4992.           Option H allows for editing of the menu's actual commands and
  4993.           options.
  4994.  
  4995.           Option I displays a generic menu.
  4996.  
  4997.       It is not difficult to get the hang off the main menu editing.  It
  4998.       is straightforward and simplistic, although it may take some time
  4999.       getting used to.
  5000.  
  5001.  
  5002.       ────────────────────────────────────────────────────────────────────
  5003.       Oblivion/2 v2.35 Bulletin Board System Documentation              85
  5004.       Section 22                                               MENU EDITOR
  5005.       ────────────────────────────────────────────────────────────────────
  5006.  
  5007.       When you press H to edit the menu's options, you will be greeted by
  5008.       a screen similar to the one below:
  5009.  
  5010.       1  FIRSTCMD         -F 2  FIRSTCMD         E# 3  FIRSTCMD         {A
  5011.       4  FIRSTCMD         E# 5  FIRSTCMD         {X
  5012.       Add Change Delete Move Quit :
  5013.  
  5014.       This merely lets you move swiftly between commands.  You may add new
  5015.       commands here (entering blank spots for later configuration), change
  5016.       an existing option, delete an option, reorder (move) the order of
  5017.       the options, and quit back to the main menu editor.
  5018.  
  5019.  
  5020.  
  5021.       22.2: The Pulldown System
  5022.  
  5023.  
  5024.       The pulldown system is a powerful system that allows you to go
  5025.       beyond simple prompt menus.  This will allow you to create matrix
  5026.       menus (also known as lightbar menus) or other, simpler single-task
  5027.       menus.
  5028.  
  5029.       In the main menu editor, Option G is the Pulldown File field.  This
  5030.       field can contain a number of commands.  If the Pulldown File field
  5031.       is blank, the user's current menu prompt will be drawn with the Name
  5032.       in Prompt (Option E) in the prompt, and takes standard visible
  5033.       input.  Other commands are as follows:
  5034.  
  5035.           ::x
  5036.             The system will randomly pick a letter from A to x (where x is
  5037.             a letter in the alphabet (ie. ::C will randomly pick a letter
  5038.             between A and C)) and reacts as if the user pressed that key.
  5039.  
  5040.             For example, this command can be used to randomize different
  5041.             matrices or lightbars.  Perhaps you have four different
  5042.             matrices that you want to randomize.  Since the letter "D" is
  5043.             the fourth letter in the alphabet, you would fill in the
  5044.             Pulldown File field with "::D".  In your MATRIX.MNU, you will
  5045.             need four commands that have the Key field set to A, B, C, and
  5046.             D.  For each command (A, B, C, or D) you will want it to go to
  5047.             a different menu.  Those four menus will be your random
  5048.             matrices.  The below is an example of one command that would
  5049.             be used in your MATRIX.MNU:
  5050.  
  5051.               Description : Go to DOS matrix
  5052.               Hidden      : No
  5053.               Command Keys: -^
  5054.               Key         : A
  5055.               CString     : DOSMAT
  5056.               Pulldown ID : 0
  5057.  
  5058.  
  5059.       ────────────────────────────────────────────────────────────────────
  5060.       Oblivion/2 v2.35 Bulletin Board System Documentation              86
  5061.       Section 22                                               MENU EDITOR
  5062.       ────────────────────────────────────────────────────────────────────
  5063.  
  5064.             You will have to do the same thing for the other three letters
  5065.             (B, C, and D).  In a random menu of this type, the only
  5066.             commands that will be executed will be commands belonging to
  5067.             those letters (and FIRSTCMD commands).  If you had the
  5068.             Pulldown File field set to "::D" and you had an option with
  5069.             the Key as "Q", it would never be selected or usable.  This
  5070.             type of menu works WITHOUT user input.
  5071.  
  5072.           N
  5073.             Writes the Name in Prompt alone.  It may contain the following
  5074.             control codes:
  5075.  
  5076.               ^E      User's input color.
  5077.               ^M      Goes down one line (acts as a carriage return).
  5078.               ^P      User's prompt color.
  5079.               ^R      User's regular color.
  5080.               ^S      User's status color.
  5081.               ^V      User's inverse color.
  5082.               ^X      User's box color.
  5083.  
  5084.               You can use the following commands to end the Name in Prompt
  5085.               field:
  5086.  
  5087.                   /   Yes/No bar prompt beginning with No
  5088.                   \   Yes/No bar prompt beginning with Yes
  5089.                   =   Yes/No/Quit prompt beginning with Yes
  5090.                   |   Yes/No/Quit prompt beginning with No
  5091.                   @   Yes/No/Quit prompt beginning with Quit
  5092.                   *   User inputs string
  5093.                   :   User inputs with a : in a different color
  5094.                   #   Hotkey input without echo and responds to arrow keys
  5095.                       and gives the appropriate ascii equivalent in an
  5096.                       invisible prompt
  5097.                   )   Hotkey input with echo and responds to arrow keys
  5098.                       and gives the appropriate ascii equivalent in an
  5099.                       invisible prompt
  5100.                   (   Sets the string equal to the input question variable
  5101.                       set with the -H, -I, or -M menu commands
  5102.                   [   User inputs hidden string
  5103.  
  5104.             You can use the following characters in the Keys field of any
  5105.             menu when using a Name in Prompt ending with a # or ):
  5106.  
  5107.                   ╚   Up arrow key (ALT-200)
  5108.                   ╨   Down arrow key (ALT-208)
  5109.                   ═   Right arrow key (ALT-205)
  5110.                   ╦   Left arrow key (ALT-203)
  5111.                   ╟   Home key (ALT-199)
  5112.                   ╧   End key (ALT-207)
  5113.  
  5114.             The following can be used in the Keys field for any menu:
  5115.  
  5116.       ────────────────────────────────────────────────────────────────────
  5117.       Oblivion/2 v2.35 Bulletin Board System Documentation              87
  5118.       Section 22                                               MENU EDITOR
  5119.       ────────────────────────────────────────────────────────────────────
  5120.  
  5121.  
  5122.  
  5123.                       Enter key (ALT-013)
  5124.  
  5125.             All pipe color codes are also applicable in this prompt.  This
  5126.             form of menuing is used to make single-task menus that ask
  5127.             questions, create hotkeyed menus, or get various input from
  5128.             the users.
  5129.  
  5130.             For example:
  5131.  
  5132.             ^EToggle Expert Mode? \
  5133.  
  5134.             This will print "Toggle Exper Mode?" in the user's input color
  5135.             and will print "Yes  No" behind the question mark with "Yes"
  5136.             highlighted as the default selection.
  5137.  
  5138.           Bx
  5139.             Creates a bar selection menu (lightbar) with x number of
  5140.             columns.  This is a lot like your pulldowns, except that it is
  5141.             all on one line.
  5142.  
  5143.           R
  5144.             Creates a single line bar selection menu (lightbar).  When
  5145.             creating command stacks, make sure to only put a description
  5146.             on the first option in the stack, otherwise the descriptions
  5147.             for each command in the entire command stack will appear in
  5148.             this menu.  Also make sure that the descriptions for all the
  5149.             commands in this menu do not exceed 80 columns, as this is a
  5150.             ONE line bar menu.  If your descriptions exceed 80 columns,
  5151.             either shorten them or use a bar menu with the Bx command.
  5152.  
  5153.           <FILENAME.EXT>
  5154.             This is the name of the pulldown ansi to be used in your
  5155.             pulldown menu.  You must create an ansi to use and add some
  5156.             MCI codes to tell the BBS where to place certain information.
  5157.             There are two types of MCI codes that you will need to use in
  5158.             this ansi.  The first, |xx, tells the BBS where to put the
  5159.             unhighlighted bar, and the second, %xx, tells the BBS where to
  5160.             put the highlighted bar (bars are highlighted when the user
  5161.             moves the cursor to that particular bar).  When you place
  5162.             these codes in your ansi, it is practical to place them
  5163.             directly next to each other like this:  |xx%xx.  You can
  5164.             include any other pipe color codes to change the color in the
  5165.             unhighlighted display.  Use the |- MCI code to return to the
  5166.             original unhighlighted color.  You would use the pipe codes
  5167.             only if you were making a pulldown file that was drawn up in
  5168.             ASCII form (as Oblivion/2 will use the ANSI color codes to
  5169.             translate the bars).
  5170.  
  5171.             The xx values in the | and % codes must be replaced with
  5172.  
  5173.       ────────────────────────────────────────────────────────────────────
  5174.       Oblivion/2 v2.35 Bulletin Board System Documentation              88
  5175.       Section 22                                               MENU EDITOR
  5176.       ────────────────────────────────────────────────────────────────────
  5177.  
  5178.             numbers so that the BBS knows which option to execute.  This
  5179.             is where the Pulldown ID field of the menu editor comes into
  5180.             play (Option G).  You must give each one of your options a
  5181.             unique ID number, and they must be consecutive (first option
  5182.             is 1, second is 2, etc.).  If you are stacking commands for
  5183.             certain parts of the menu, only give the first command in the
  5184.             stack a Pulldown ID.
  5185.  
  5186.             Perhaps you wanted to make a pulldown matrix with five
  5187.             different options that were:  Login, Check, Apply, Feedback,
  5188.             and Logoff.  You would create your MATRIX.MNU and add in the
  5189.             five options (see Section 22.5.3 for the proper menu commands
  5190.             to use).  Once this is done, go back and place in a Pulldown
  5191.             ID for each of the five commands.  Since you only have five
  5192.             commands with no command stacking, give Login a Pulldown ID of
  5193.             1, Check an ID of 2, Apply an ID of 3, Feedback an ID of 4,
  5194.             and Logoff and ID of 5.  After this is done, create your
  5195.             pulldown ansi and place in the MCI codes as described above
  5196.             (|01%01 for Login, |02%02 for Check, etc.), and your
  5197.             pulldown menu is complete.
  5198.  
  5199.             Perhaps you wanted to use the same matrix (described above),
  5200.             but wanted to add some command stacking to it.  For example,
  5201.             perhaps you wanted the system to log a user into the BBS after
  5202.             they had checked their access and were validated for the
  5203.             system.  This would be done using the FailFlag and a few menu
  5204.             commands.  Since this option requires more than one menu
  5205.             command, it is called a command "stack".  The first option in
  5206.             this stack is going to be the check menu command.  This
  5207.             option alone will contain a Pulldown ID of 2 (as in the above
  5208.             example) and every other command in the stack will have a
  5209.             Pulldown ID of 0 (or the default of none).
  5210.  
  5211.             The default pulldown menus are designed to only use the up and
  5212.             down arrows.  However, you can create pulldown menus that use
  5213.             the left and right arrows as well.  If you want the pulldown
  5214.             to use the left and right arrows, make each one a menu command
  5215.             where each would contain the ascii equivalent of the arrow key
  5216.             (ALT-203 for left and ALT-205 for right).  The options must be
  5217.             hidden (Option C) and they must have a Pulldown ID of 0.
  5218.  
  5219.             If you put the letter "L" in the Name in Prompt field of a
  5220.             Pulldown menu, left key strokes will be interpreted as up, and
  5221.             right key strokes will be interpreted as down.
  5222.  
  5223.  
  5224.  
  5225.       22.3: Hidden Commands and Wildcarding
  5226.  
  5227.  
  5228.       Within each menu command you define, you can also define whether or
  5229.  
  5230.       ────────────────────────────────────────────────────────────────────
  5231.       Oblivion/2 v2.35 Bulletin Board System Documentation              89
  5232.       Section 22                                               MENU EDITOR
  5233.       ────────────────────────────────────────────────────────────────────
  5234.  
  5235.       not the command is hidden.  The default is no, but you can change it
  5236.       in the Command Editor (Option C).  With this, you can create an
  5237.       option in a pulldown menu that will not appear on the pulldown file,
  5238.       but users can access it via a hotkey (ie. Q to Quit).  The option
  5239.       must be hidden and must have a Pulldown ID of 0.  This will turn the
  5240.       option into a hotkeyed command and users will be able to execute it
  5241.       without using the lightbar.
  5242.  
  5243.       You can also wildcard menu commands.  If you set a Key (Option E)
  5244.       to X*, and then put an * in the CString, anything that follows the X
  5245.       key on the menu prompt (that the user inputs) will be placed into
  5246.       the CString, replacing the * that is defined there.  This can be
  5247.       used in such cases as file conference jumping, where a Key of J*
  5248.       would execute the JF menu command with a CString of *, so a user
  5249.       could type in J1 to jump to conference 1, type J2 to jump to
  5250.       conference 2, etc.
  5251.  
  5252.       You can also place an & character in the CString which is set to the
  5253.       input gained with a -H or -I menu command, or else set with a -*
  5254.       command (the & character will be filled with the input gained from
  5255.       the above menu commands, so the CString would not be &, as defined
  5256.       in the menu editor,  but would be whatever input was gained).
  5257.  
  5258.  
  5259.  
  5260.       22.4: Command Stacking
  5261.  
  5262.  
  5263.       Already you have heard the term "command stacking" many times, but
  5264.       it has not yet been defined in such a way to show you it's true
  5265.       potential.  With command stacking, you can do multiple things with
  5266.       the touch of one key.  It, in essence, links multiple commands
  5267.       together to work in unison.
  5268.  
  5269.       For example, perhaps you wished to display a textfile, but wanted
  5270.       the screen cleared first.  You would create your first command to
  5271.       clear the screen (with a -L menu command), and perhaps you wanted
  5272.       the user to press the letter "T" to print the textfile.  In the Keys
  5273.       field you would enter the letter "T".  Then you would, directly
  5274.       after the -L command, create another command that used the -F menu
  5275.       command.  Also give it a Key of "T", and when the user presses the
  5276.       letter "T" at the menu prompt, the -L command will be executed to
  5277.       clear the screen, and then the -F command will be executed to print
  5278.       a particular textfile.  Command stacks can be as simple as this
  5279.       example, or far more complex, but the basic principle behind it
  5280.       remains the same.  As long as the commands you wish to stack all
  5281.       contain the exact SAME Key field, your commands will be stacked.  If
  5282.       your first command is K* and the command you want to stack after it
  5283.       is K, the stack will not work.  Both commands need to be K* or K,
  5284.       and not a combination of both.
  5285.  
  5286.  
  5287.       ────────────────────────────────────────────────────────────────────
  5288.       Oblivion/2 v2.35 Bulletin Board System Documentation              90
  5289.       Section 22                                               MENU EDITOR
  5290.       ────────────────────────────────────────────────────────────────────
  5291.  
  5292.       Below is a few examples that Lord Tracer wrote up.  They accurately
  5293.       show command stacking and linking, and will give you a better
  5294.       picture of how it can be used.  The examples shown use both the Menu
  5295.       Editor and the Command Editor.  See Section 22.5 for information on
  5296.       how to use the Command Editor.
  5297.  
  5298.          Examples:
  5299.            GOODBYE.MNU - Pulldown Logoff Verify Menu
  5300.  
  5301.        ╒═══════════════════════════════════════════════════════════╕
  5302.        │ Command :           (Q)uit       Oblivion/2 Menu Editor   │
  5303.        ╘═══════════════════════════════════════════════════════════╛
  5304.        ╒═══════════════════════════════════════════════════════════╕
  5305.        │ (A) Name           :                                      │
  5306.        │ (B) Password       :                                      │
  5307.        │ (C) Fallback Menu  :                                      │
  5308.        │ (D) Help ID        :                                      │
  5309.        │ (E) Name In Prompt :                                      │
  5310.        │ (F) Menu Title     :                                      │
  5311.        │ (G) Pulldown ANSI  : LOGOFF.ANS                           │
  5312.        │ (H) Edit Options                                          │
  5313.        │ (I) Generic Menus                                         │
  5314.        ╘═══════════════════════════════════════════════════════════╛
  5315.  
  5316.        Use Pulldown Ansi LOGOFF.ANS
  5317.  
  5318.  
  5319.  
  5320.  
  5321.  
  5322.  
  5323.  
  5324.  
  5325.  
  5326.  
  5327.  
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.  
  5337.  
  5338.  
  5339.  
  5340.  
  5341.  
  5342.  
  5343.  
  5344.       ────────────────────────────────────────────────────────────────────
  5345.       Oblivion/2 v2.35 Bulletin Board System Documentation              91
  5346.       Section 22                                               MENU EDITOR
  5347.       ────────────────────────────────────────────────────────────────────
  5348.  
  5349.        ╒═══════════════════════════════════════════════════════════╕
  5350.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5351.        ╘═══════════════════════════════════════════════════════════╛
  5352.        ╒═══════════════════════════════════════════════════════════╕
  5353.        │ (A) Option Name    :                                      │
  5354.        │ (B) ACS            :                                      │
  5355.        │ (C) Hidden         : Yes                                  │
  5356.        │ (D) Command Keys   : [G                                   │
  5357.        │ (E) Keys           : Y                                    │
  5358.        │ (F) Command String :                                      │
  5359.        │ (G) Pulldown ID    : 0                                    │
  5360.        │ ([) Previous Option                                       │
  5361.        │ (]) Next Option                                           │
  5362.        ╘═══════════════════════════════════════════════════════════╛
  5363.  
  5364.        Y as a hotkey to logoff
  5365.  
  5366.        ╒═══════════════════════════════════════════════════════════╕
  5367.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5368.        ╘═══════════════════════════════════════════════════════════╛
  5369.        ╒═══════════════════════════════════════════════════════════╕
  5370.        │ (A) Option Name    :                                      │
  5371.        │ (B) ACS            :                                      │
  5372.        │ (C) Hidden         : Yes                                  │
  5373.        │ (D) Command Keys   : -\                                   │
  5374.        │ (E) Keys           : N                                    │
  5375.        │ (F) Command String :                                      │
  5376.        │ (G) Pulldown ID    : 0                                    │
  5377.        │ ([) Previous Option                                       │
  5378.        │ (]) Next Option                                           │
  5379.        ╘═══════════════════════════════════════════════════════════╛
  5380.  
  5381.        N as a hotkey to go back
  5382.  
  5383.        ╒═══════════════════════════════════════════════════════════╕
  5384.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5385.        ╘═══════════════════════════════════════════════════════════╛
  5386.        ╒═══════════════════════════════════════════════════════════╕
  5387.        │ (A) Option Name    :  Yes                                 │
  5388.        │ (B) ACS            :                                      │
  5389.        │ (C) Hidden         : No                                   │
  5390.        │ (D) Command Keys   : [G                                   │
  5391.        │ (E) Keys           : 1                                    │
  5392.        │ (F) Command String :                                      │
  5393.        │ (G) Pulldown ID    : 1                                    │
  5394.        │ ([) Previous Option                                       │
  5395.        │ (]) Next Option                                           │
  5396.        ╘═══════════════════════════════════════════════════════════╛
  5397.  
  5398.        "Yes" will appear in pulldown option 1 and when selected it will do
  5399.        a logoff.
  5400.  
  5401.       ────────────────────────────────────────────────────────────────────
  5402.       Oblivion/2 v2.35 Bulletin Board System Documentation              92
  5403.       Section 22                                               MENU EDITOR
  5404.       ────────────────────────────────────────────────────────────────────
  5405.  
  5406.  
  5407.        ╒═══════════════════════════════════════════════════════════╕
  5408.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5409.        ╘═══════════════════════════════════════════════════════════╛
  5410.        ╒═══════════════════════════════════════════════════════════╕
  5411.        │ (A) Option Name    :  No                                  │
  5412.        │ (B) ACS            :                                      │
  5413.        │ (C) Hidden         : No                                   │
  5414.        │ (D) Command Keys   : -\                                   │
  5415.        │ (E) Keys           : 2                                    │
  5416.        │ (F) Command String :                                      │
  5417.        │ (G) Pulldown ID    : 2                                    │
  5418.        │ ([) Previous Option                                       │
  5419.        │ (]) Next Option                                           │
  5420.        ╘═══════════════════════════════════════════════════════════╛
  5421.  
  5422.        "No" will appear in pulldown option 2 and when selected it will go
  5423.        back.
  5424.  
  5425.        Another example, the not very nice case.  This was devised by me,
  5426.        Darkened Enmity, for Whiplash.  He wanted to use a pulldown menu to
  5427.        select file conferences.  I got the idea of the -* command and the
  5428.        use of & in the CString.  I knew that would work, and the next day
  5429.        I wrote out the codes.  This is the CONFHAND.MNU for you to look at
  5430.        since it is complex, but will allow you to understand how things
  5431.        are done.  There is a menu called CONFSEL.MNU that will select the
  5432.        file conference in a pulldown.  CONFSEL is called like this:
  5433.  
  5434.        Command 1 in Stack:
  5435.        Command Keys  : -*
  5436.        Keys          : T*
  5437.        Command String: *
  5438.  
  5439.        Command 2 in Stack:
  5440.        Command Keys  : -/
  5441.        Keys          : T*
  5442.        Command String: CONFHAND
  5443.  
  5444.        Now here is CONFHAND.MNU:
  5445.  
  5446.  
  5447.  
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453.  
  5454.  
  5455.  
  5456.  
  5457.  
  5458.       ────────────────────────────────────────────────────────────────────
  5459.       Oblivion/2 v2.35 Bulletin Board System Documentation              93
  5460.       Section 22                                               MENU EDITOR
  5461.       ────────────────────────────────────────────────────────────────────
  5462.  
  5463.        ╒═════════════════════════════════════════════════════════╕
  5464.        │ Command :           (Q)uit     Oblivion/2 Menu Editor   │
  5465.        ╘═════════════════════════════════════════════════════════╛
  5466.        ╒═════════════════════════════════════════════════════════╕
  5467.        │ (A) Name           :                                    │
  5468.        │ (B) Password       :                                    │
  5469.        │ (C) Fallback Menu  :                                    │
  5470.        │ (D) Help ID        :                                    │
  5471.        │ (E) Name In Prompt :                                    │
  5472.        │ (F) Menu Title     :                                    │
  5473.        │ (G) Pulldown ANSI  :                                    │
  5474.        │ (H) Edit Options                                        │
  5475.        │ (I) Generic Menus                                       │
  5476.        ╘═════════════════════════════════════════════════════════╛
  5477.  
  5478.        Not very interesting, but then the user does not even know that it
  5479.        is doing anything.
  5480.  
  5481.        ╒═══════════════════════════════════════════════════════════╕
  5482.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5483.        ╘═══════════════════════════════════════════════════════════╛
  5484.        ╒═══════════════════════════════════════════════════════════╕
  5485.        │ (A) Option Name    :                                      │
  5486.        │ (B) ACS            :                                      │
  5487.        │ (C) Hidden         : No                                   │
  5488.        │ (D) Command Keys   : -S                                   │
  5489.        │ (E) Keys           : FIRSTCMD                             │
  5490.        │ (F) Command String : -B                                   │
  5491.        │ (G) Pulldown ID    : 0                                    │
  5492.        │ ([) Previous Option                                       │
  5493.        │ (]) Next Option                                           │
  5494.        ╘═══════════════════════════════════════════════════════════╛
  5495.  
  5496.        Turns off the B user flag.  It will be used later in the menu as an
  5497.        indicator.
  5498.  
  5499.        ╒═══════════════════════════════════════════════════════════╕
  5500.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5501.        ╘═══════════════════════════════════════════════════════════╛
  5502.        ╒═══════════════════════════════════════════════════════════╕
  5503.        │ (A) Option Name    :                                      │
  5504.        │ (B) ACS            :                                      │
  5505.        │ (C) Hidden         : No                                   │
  5506.        │ (D) Command Keys   : -M                                   │
  5507.        │ (E) Keys           : FIRSTCMD                             │
  5508.        │ (F) Command String :                                      │
  5509.        │ (G) Pulldown ID    :  0                                   │
  5510.        │ ([) Previous Option                                       │
  5511.        │ (]) Next Option                                           │
  5512.        ╘═══════════════════════════════════════════════════════════╛
  5513.  
  5514.  
  5515.       ────────────────────────────────────────────────────────────────────
  5516.       Oblivion/2 v2.35 Bulletin Board System Documentation              94
  5517.       Section 22                                               MENU EDITOR
  5518.       ────────────────────────────────────────────────────────────────────
  5519.  
  5520.        Compares the inputted variable with a blank string.  Remember,
  5521.        before CONFHAND was called, the inputted variable was set to what
  5522.        was entered after T by the -* command.  If what was entered was
  5523.        blank, the failflag is false, otherwise it is true.
  5524.  
  5525.        ╒══════════════════════════════════════════════════════════╕
  5526.        │ Command :           (Q)uit    Oblivion/2 Command Editor  │
  5527.        ╘══════════════════════════════════════════════════════════╛
  5528.        ╒══════════════════════════════════════════════════════════╕
  5529.        │ (A) Option Name    :                                     │
  5530.        │ (B) ACS            : \                                   │
  5531.        │ (C) Hidden         : No                                  │
  5532.        │ (D) Command Keys   : -S                                  │
  5533.        │ (E) Keys           : FIRSTCMD                            │
  5534.        │ (F) Command String : +B                                  │
  5535.        │ (G) Pulldown ID    : 0                                   │
  5536.        │ ([) Previous Option                                      │
  5537.        │ (]) Next Option                                          │
  5538.        ╘══════════════════════════════════════════════════════════╛
  5539.  
  5540.        This command will be executed if the failflag is true, in other
  5541.        words, what was entered after T was not blank.  Therefore, if the
  5542.        user had type T1, then B will be set, otherwise it remains blank.
  5543.  
  5544.        ╒═══════════════════════════════════════════════════════════╕
  5545.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5546.        ╘═══════════════════════════════════════════════════════════╛
  5547.        ╒═══════════════════════════════════════════════════════════╕
  5548.        │ (A) Option Name    :                                      │
  5549.        │ (B) ACS            : fB                                   │
  5550.        │ (C) Hidden         : No                                   │
  5551.        │ (D) Command Keys   : JF                                   │
  5552.        │ (E) Keys           : FIRSTCMD                             │
  5553.        │ (F) Command String : &                                    │
  5554.        │ (G) Pulldown ID    : 0                                    │
  5555.        │ ([) Previous Option                                       │
  5556.        │ (]) Next Option                                           │
  5557.        ╘═══════════════════════════════════════════════════════════╛
  5558.  
  5559.        If flag B is set, the BBS will do a file conference jump to that
  5560.        conference.  A trace through up until this point:  User enters Txxx
  5561.        xxx is put into the input variable.  The BBS compares xxx to a
  5562.        blank string, if they are not equal, flag B is set.  The BBS joins
  5563.        relative file conference xxx.
  5564.  
  5565.  
  5566.  
  5567.  
  5568.  
  5569.  
  5570.  
  5571.  
  5572.       ────────────────────────────────────────────────────────────────────
  5573.       Oblivion/2 v2.35 Bulletin Board System Documentation              95
  5574.       Section 22                                               MENU EDITOR
  5575.       ────────────────────────────────────────────────────────────────────
  5576.  
  5577.        ╒═══════════════════════════════════════════════════════════╕
  5578.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5579.        ╘═══════════════════════════════════════════════════════════╛
  5580.        ╒═══════════════════════════════════════════════════════════╕
  5581.        │ (A) Option Name    :                                      │
  5582.        │ (B) ACS            : fB                                   │
  5583.        │ (C) Hidden         : No                                   │
  5584.        │ (D) Command Keys   : -C                                   │
  5585.        │ (E) Keys           : FIRSTCMD                             │
  5586.        │ (F) Command String :                                      │
  5587.        │ (G) Pulldown ID    : 0                                    │
  5588.        │ ([) Previous Option                                       │
  5589.        │ (]) Next Option                                           │
  5590.        ╘═══════════════════════════════════════════════════════════╛
  5591.  
  5592.        Turns failflag off, that is necessary to know if the next command
  5593.        failed.
  5594.  
  5595.        ╒═══════════════════════════════════════════════════════════╕
  5596.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5597.        ╘═══════════════════════════════════════════════════════════╛
  5598.        ╒═══════════════════════════════════════════════════════════╕
  5599.        │ (A) Option Name    :                                      │
  5600.        │ (B) ACS            : fB                                   │
  5601.        │ (C) Hidden         : No                                   │
  5602.        │ (D) Command Keys   : FI                                   │
  5603.        │ (E) Keys           : FIRSTCMD                             │
  5604.        │ (F) Command String :                                      │
  5605.        │ (G) Pulldown ID    : 0                                    │
  5606.        │ ([) Previous Option                                       │
  5607.        │ (]) Next Option                                           │
  5608.        ╘═══════════════════════════════════════════════════════════╛
  5609.  
  5610.        Tries doing a file initialization.  If its successful, fail flag is
  5611.        still false.
  5612.  
  5613.        ╒══════════════════════════════════════════════════════════╕
  5614.        │ Command :           (Q)uit    Oblivion/2 Command Editor  │
  5615.        ╘══════════════════════════════════════════════════════════╛
  5616.        ╒══════════════════════════════════════════════════════════╕
  5617.        │ (A) Option Name    :                                     │
  5618.        │ (B) ACS            : fB~\                                │
  5619.        │ (C) Hidden         : No                                  │
  5620.        │ (D) Command Keys   : -^                                  │
  5621.        │ (E) Keys           : FSCAN                               │
  5622.        │ (F) Command String :                                     │
  5623.        │ (G) Pulldown ID    : 0                                   │
  5624.        │ ([) Previous Option                                      │
  5625.        │ (]) Next Option                                          │
  5626.        ╘══════════════════════════════════════════════════════════╛
  5627.  
  5628.  
  5629.       ────────────────────────────────────────────────────────────────────
  5630.       Oblivion/2 v2.35 Bulletin Board System Documentation              96
  5631.       Section 22                                               MENU EDITOR
  5632.       ────────────────────────────────────────────────────────────────────
  5633.  
  5634.        If flag B is set and the file init was successful, the BBS will go
  5635.        to FSCAN, the menu that asks if you want to scan the file bases.
  5636.  
  5637.        ╒═══════════════════════════════════════════════════════════╕
  5638.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5639.        ╘═══════════════════════════════════════════════════════════╛
  5640.        ╒═══════════════════════════════════════════════════════════╕
  5641.        │ (A) Option Name    :                                      │
  5642.        │ (B) ACS            : fB                                   │
  5643.        │ (C) Hidden         : No                                   │
  5644.        │ (D) Command Keys   : -^                                   │
  5645.        │ (E) Keys           : FIRSTCMD                             │
  5646.        │ (F) Command String : MAIN                                 │
  5647.        │ (G) Pulldown ID    : 0                                    │
  5648.        │ ([) Previous Option                                       │
  5649.        │ (]) Next Option                                           │
  5650.        ╘═══════════════════════════════════════════════════════════╛
  5651.  
  5652.        If flag B is set, meaning the BBS would have tried initializing the
  5653.        file section and was not successful, and the BBS is still reading
  5654.        CONFHAND, then the BBS will go to the main menu.
  5655.  
  5656.        ╒═══════════════════════════════════════════════════════════╕
  5657.        │ Command :           (Q)uit    Oblivion/2 Command Editor   │
  5658.        ╘═══════════════════════════════════════════════════════════╛
  5659.        ╒═══════════════════════════════════════════════════════════╕
  5660.        │ (A) Option Name    :                                      │
  5661.        │ (B) ACS            :                                      │
  5662.        │ (C) Hidden         : No                                   │
  5663.        │ (D) Command Keys   : -^                                   │
  5664.        │ (E) Keys           : FIRSTCMD                             │
  5665.        │ (F) Command String : CONFSEL                              │
  5666.        │ (G) Pulldown ID    : 0                                    │
  5667.        │ ([) Previous Option                                       │
  5668.        │ (]) Next Option                                           │
  5669.        ╘═══════════════════════════════════════════════════════════╛
  5670.  
  5671.        If you are still in this menu, meaning that the user did not enter
  5672.        anything at the prompt, then go right ahead to CONFSEL.
  5673.  
  5674.        Yeah, a complex example that does not do much physically, yeah, I
  5675.        know, but it demonstrates a lot, plus it shows some similarities
  5676.        between high-level menu editing and assembly.
  5677.  
  5678.  
  5679.  
  5680.       22.5: The Command Editor
  5681.  
  5682.  
  5683.       The Command Editor is where the dirty work actually happens.  It is
  5684.       here that you design each level of your menus, from strings
  5685.  
  5686.       ────────────────────────────────────────────────────────────────────
  5687.       Oblivion/2 v2.35 Bulletin Board System Documentation              97
  5688.       Section 22                                               MENU EDITOR
  5689.       ────────────────────────────────────────────────────────────────────
  5690.  
  5691.       displayed to commands processed, whether individual or stacked.
  5692.  
  5693.       ╒══════════════════════════════════════════════════════════════════╕
  5694.       │ Command :           (Q)uit           Oblivion/2 Command Editor   │
  5695.       ╘══════════════════════════════════════════════════════════════════╛
  5696.       ╒══════════════════════════════════════════════════════════════════╕
  5697.       │ (A) Option Name    : display info ansi                           │
  5698.       │ (B) ACS            :                                             │
  5699.       │ (C) Hidden         : No                                          │
  5700.       │ (D) Command Keys   : -F                                          │
  5701.       │ (E) Keys           : FIRSTCMD                                    │
  5702.       │ (F) Command String : mustfill.inf                                │
  5703.       │ (G) Pulldown ID    : 0                                           │
  5704.       │ ([) Previous Option                                              │
  5705.       │ (]) Next Option                                                  │
  5706.       ╘══════════════════════════════════════════════════════════════════╛
  5707.  
  5708.           Option A is the name of the option, as shown in generic menus
  5709.           (and is generally for your own reference).
  5710.  
  5711.           Option B is the access required to use this option.  Any of the
  5712.           ACS commands (see Section 2) are valid to use here.
  5713.  
  5714.           Option C determines if the option name will be shown in the
  5715.           generic menus.
  5716.  
  5717.           Option D is the command key to be executed.
  5718.  
  5719.           Option E is the key that the user must press to execute the
  5720.           command.  There are two other keys you can as well as any other
  5721.           key on your keyboard:
  5722.  
  5723.               FIRSTCMD    Executed when the user first enters the menu and
  5724.                           before the prompt is even displayed.
  5725.               EACH        Executed after every command in the menu before
  5726.                           the prompt is displayed.
  5727.  
  5728.           Option F is the command string or CString.  Not all menu
  5729.           commands use them, so look in the following sections for which
  5730.           ones make use of it and which do not.
  5731.  
  5732.           Option G is the Pulldown ID.  This is used for pulldown menus
  5733.           (see Section 22.2).
  5734.  
  5735.       The following subsections deal with the different menu commands that
  5736.       are used in the menu editor.
  5737.  
  5738.  
  5739.  
  5740.       22.5.1: -? : Control Commands
  5741.  
  5742.  
  5743.       ────────────────────────────────────────────────────────────────────
  5744.       Oblivion/2 v2.35 Bulletin Board System Documentation              98
  5745.       Section 22                                               MENU EDITOR
  5746.       ────────────────────────────────────────────────────────────────────
  5747.  
  5748.  
  5749.       These menu commands are miscellaneous control commands that can be
  5750.       used in any menu anywhere on the system.  They allow the sysop a
  5751.       wide range of manipulation on how the system looks and reacts and
  5752.       interfaces with the user and their account.
  5753.  
  5754.  
  5755.           Command Key: -A
  5756.           CString    : <String to be displayed>
  5757.           Function   : Writes CString into the Header (use with stacking).
  5758.  
  5759.           Command Key: -B
  5760.           CString    : <String to display when invalid command is entered,
  5761.                        blank if none>
  5762.           Function   : Set the Bad Prompt to CString.
  5763.  
  5764.           Command Key: -C
  5765.           CString    : None
  5766.           Function   : Clears the FailFlag.
  5767.  
  5768.           Command Key: -D
  5769.           CString    : ~ = .5 second delay; | = carriage return, ^X =
  5770.                        CTRL-X.  Make sure to put the modem back into
  5771.                        online mode after executing this command, otherwise
  5772.                        the BBS will be hung.  Use the ATO command to put
  5773.                        the modem into online mode.  Also be sure to use
  5774.                        the escape code (+++) to put the modem into command
  5775.                        mode, or your commands won't get to the modem.
  5776.           Function   : Sends CString to the modem.
  5777.  
  5778.           Command Key: -E
  5779.           CString    : <String to be displayed>
  5780.           Function   : Prints string with control (^) character support.
  5781.                        See Section 22.2 for the listing of control codes.
  5782.  
  5783.           Command Key: -F
  5784.           CString    : <FILENAME[.EXT]>
  5785.           Function   : Displays a text or ansi file, where FILENAME.EXT is
  5786.                        a valid DOS filename and is located in the textfile
  5787.                        directory.  [.EXT] may be omitted to turn on random
  5788.                        file selection (FILENAME.1 to FILENAME.255).
  5789.  
  5790.           Command Key: -G
  5791.           CString    : <X,Y>
  5792.           Function   : Goes to the X,Y coordinates on the screen that are
  5793.                        specified by the CString.
  5794.  
  5795.           Command Key: -H
  5796.           CString    : <number value>
  5797.           Function   : Gets string with hidden input, where the CString is
  5798.                        the maximum number of characters a user can enter.
  5799.  
  5800.       ────────────────────────────────────────────────────────────────────
  5801.       Oblivion/2 v2.35 Bulletin Board System Documentation              99
  5802.       Section 22                                               MENU EDITOR
  5803.       ────────────────────────────────────────────────────────────────────
  5804.  
  5805.  
  5806.           Command Key: -I
  5807.           CString    : <number value>
  5808.           Function   : Gets string with normal (displayed) input, where
  5809.                        the CString is the maximum number of characters a
  5810.                        user can enter.
  5811.  
  5812.           Command Key: -M
  5813.           CString    : <String to check>
  5814.           Function   : If the string entered with the -I or -H menu
  5815.                        commands is not the CString, the FailFlag is set to
  5816.                        true.
  5817.  
  5818.           Command Key: -N
  5819.           CString    : <FILENAME.EXT>
  5820.           Function   : Displays FILENAME.EXT from the user's current
  5821.                        selected Status Screen Library.
  5822.  
  5823.           Command Key: -J
  5824.           CString    : None
  5825.           Function   : If the sysop is available, the FailFlag is set to
  5826.                        false and if the sysop is not available, the
  5827.                        FailFlag is set to true.
  5828.  
  5829.           Command Key: -K
  5830.           CString    : <Menu name>
  5831.           Function   : Changes starting menu to CString, so all -^
  5832.                        commands will set the fallback menu to the old
  5833.                        starting menu.
  5834.  
  5835.           Command Key: -L
  5836.           CString    : None
  5837.           Function   : Clears the screen.
  5838.  
  5839.           Command Key: -O
  5840.           CString    : <FILENAME.EXT>
  5841.           Function   : Display's FILENAME.EXT from the user's current
  5842.                        selected Menu Set Library.
  5843.  
  5844.           Command Key: -P
  5845.           CString    : <X>
  5846.           Function   : Pauses for X number of seconds.
  5847.  
  5848.           Command Key: -Q
  5849.           CString    : <Menu prompt #>
  5850.           Function   : Sets the current menu prompt number to the value in
  5851.                        the CString.
  5852.  
  5853.           Command Key: -R
  5854.           CString    : None
  5855.           Function   : Prints a carriage return to the screen.
  5856.  
  5857.       ────────────────────────────────────────────────────────────────────
  5858.       Oblivion/2 v2.35 Bulletin Board System Documentation             100
  5859.       Section 22                                               MENU EDITOR
  5860.       ────────────────────────────────────────────────────────────────────
  5861.  
  5862.  
  5863.           Command Key: -S
  5864.           CString    : <+/-><Flag letter>
  5865.           Function   : Changes user flags for the first user ACS flag set.
  5866.                        A "-" followed by the flag letters will turn those
  5867.                        flag letters off in the user's account.  A "+" will
  5868.                        turn the following flags on.
  5869.  
  5870.           Command Key: -T
  5871.           CString    : <#>
  5872.           Function   : Sets the current status screen library number to
  5873.                        the value in the CString.
  5874.  
  5875.           Command Key: -V
  5876.           CString    : <#>
  5877.           Function   : Sets the current menuset library number to the
  5878.                        value in the CString.
  5879.  
  5880.           Command Key: -U
  5881.           CString    : <Menu name>
  5882.           Function   : Sets the starting menu to the menu in the CString
  5883.                        and sets the fallback of all the menus called with
  5884.                        the -^ menu command to the menu in the CString.
  5885.  
  5886.           Command Key: -W
  5887.           CString    : <String>
  5888.           Function   : Writes the text in the CString to the sysop logs.
  5889.  
  5890.                        This is a good command to use to keep track of the
  5891.                        actions of your sysops and co-sysops by stacking
  5892.                        it with other commands.
  5893.  
  5894.           Command Key: -X
  5895.           CString    : <FILENAME.EXT>
  5896.           Function   : Returns FailFlag as true if the filename in the
  5897.                        CString does not exist.
  5898.  
  5899.           Command Key: -Y
  5900.           CString    : <+/-><Flag letter>
  5901.           Function   : Changes user flags for the second user ACS flag
  5902.                        set.  A "-" followed by the flag letters will turn
  5903.                        those flag letters off in the user's account.  A
  5904.                        "+" will turn those flags on.
  5905.  
  5906.           Command Key: -Z
  5907.           CString    : None
  5908.           Function   : Pauses all other commands until output (send)
  5909.                        buffer is empty.
  5910.  
  5911.                        This is a good command to use for things like
  5912.                        displaying a textfile before hanging up on a user.
  5913.  
  5914.       ────────────────────────────────────────────────────────────────────
  5915.       Oblivion/2 v2.35 Bulletin Board System Documentation             101
  5916.       Section 22                                               MENU EDITOR
  5917.       ────────────────────────────────────────────────────────────────────
  5918.  
  5919.                        Stack this command after the display textfile
  5920.                        command and before the hang up command.
  5921.  
  5922.           Command Key: -1
  5923.           CString    : <+> or None
  5924.           Function   : Sets screen pausing on or off (this is the variable
  5925.                        a user determines in their user configuration).  A
  5926.                        "+" will turn screen pausing on and anything else
  5927.                        will turn it off.
  5928.  
  5929.           Command Key: -2
  5930.           CString    : <+> or None
  5931.           Function   : Suspends screen pausing until the next textfile
  5932.                        display.  A "+" will suspend pausing and anything
  5933.                        else will return it to the default setting.
  5934.  
  5935.           Command Key: -3
  5936.           CString    : <#>
  5937.           Function   : Adds the number of minutes specified by the number
  5938.                        in the CString to the user's time.
  5939.  
  5940.           Command Key: -4
  5941.           CString    : <#>
  5942.           Function   : Removes the number of minutes specified by the
  5943.                        number in the CString from the user's time.
  5944.  
  5945.           Command Key: -+
  5946.           CString    : None
  5947.           Function   : Displays a random WELCOME.x file from the textfile
  5948.                        directory.
  5949.  
  5950.           Command Key: -|
  5951.           CString    : None
  5952.           Function   : Checks the user's infoforms to make sure that he
  5953.                        has filled out all of the mandatory infoforms.  If
  5954.                        he has not filled one out, the system will force
  5955.                        the user to fill out the infoform he had not
  5956.                        previously filled out.
  5957.  
  5958.           Command Key: -@
  5959.           CString    : None
  5960.           Function   : Displays the system notices.
  5961.  
  5962.           Command Key: -_
  5963.           CString    : None
  5964.           Function   : Pages the sysop if the user has the Wanted flag
  5965.                        set.  (The Wanted flag can be toggled for anyone's
  5966.                        account in the user editor.  See Section 8.2.)
  5967.  
  5968.           Command Key: -/
  5969.           CString    : <Menu name>
  5970.  
  5971.       ────────────────────────────────────────────────────────────────────
  5972.       Oblivion/2 v2.35 Bulletin Board System Documentation             102
  5973.       Section 22                                               MENU EDITOR
  5974.       ────────────────────────────────────────────────────────────────────
  5975.  
  5976.           Function   : Goes to the menu in the CString and sets the
  5977.                        fallback menu to the current menu.
  5978.  
  5979.           Command Key: -\
  5980.           CString    : None
  5981.           Function   : Goes to the fallback menu and sets the fallback to
  5982.                        the previous fallback menu.
  5983.  
  5984.           Command Key: -^
  5985.           CString    : <Menu name>
  5986.           Function   : Goes to the menu name in the CString and sets the
  5987.                        fallback to the starting menu.
  5988.  
  5989.           Command Key: -{
  5990.           CString    : <Menu name>
  5991.           Function   : Goes to the menu specified in the CString, but will
  5992.                        not execute any FIRSTCMD statements.
  5993.  
  5994.           Command Key: -}
  5995.           CString    : None
  5996.           Function   : Drops to the previous menu, but will not execute
  5997.                        any FIRSTCMD statements.
  5998.  
  5999.           Command Key: -$
  6000.           CString    : <Menu name>
  6001.           Function   : Goes to the menu specified in the CString, keeping
  6002.                        the current fallback menu and will process FIRSTCMD
  6003.                        statements.
  6004.  
  6005.           Command Key: -%
  6006.           CString    : <Menu name>
  6007.           Function   : Goes to the menu specified in the CString, keeping
  6008.                        the current fallback menu, but will not process
  6009.                        FIRSTCMD statements.
  6010.  
  6011.           Command Key: -*
  6012.           CString    : <String>
  6013.           Function   : Sets the input variable usually inputted with the
  6014.                        -I and -H commands to the string in the CString.
  6015.  
  6016.           Command Key: -=
  6017.           CString    : <Security level>
  6018.           Function   : Sets the current user's security level to the
  6019.                        security level specified in the CString.  This can
  6020.                        be a potentially dangerous command if not used
  6021.                        correctly.
  6022.  
  6023.           Command Key: -&
  6024.           CString    : None
  6025.           Function   : After the execution of an external program via door
  6026.                        commands, the errorlevel with which the external
  6027.  
  6028.       ────────────────────────────────────────────────────────────────────
  6029.       Oblivion/2 v2.35 Bulletin Board System Documentation             103
  6030.       Section 22                                               MENU EDITOR
  6031.       ────────────────────────────────────────────────────────────────────
  6032.  
  6033.                        program will be placed into the input string (the
  6034.                        same string set with the -I and -H menu commands)
  6035.                        and can be checked using the -M menu command.
  6036.  
  6037.           Command Key: -(
  6038.           CString    : None
  6039.           Function   : Prints Prompt #1 (Press Enter) and waits for the
  6040.                        user to press enter.
  6041.  
  6042.           Command Key: ->
  6043.           CString    : <Infoform set>
  6044.           Function   : Changes to the infoform set specified in the
  6045.                        CString.
  6046.  
  6047.           Command Key: -;
  6048.           CString    : None
  6049.           Function   : Toggles locking of output to the modem.  This
  6050.                        command must be used again to unlock the output to
  6051.                        the modem.
  6052.  
  6053.           Command Key: -:
  6054.           CString    : None
  6055.           Function   : Toggles locking of input from the modem.  This
  6056.                        command must be used again to unlock the input from
  6057.                        the modem.  All characters that the user types are
  6058.                        stored in a buffer until after another -: command
  6059.                        is issued again.
  6060.  
  6061.           Command Key: --
  6062.           CString    : None
  6063.           Function   : Displays and gets input in the same format as a
  6064.                        prompt string.
  6065.  
  6066.           Command Key: -#
  6067.           CString    : <#>
  6068.           Function   : Sets the user's remaining time left to the value in
  6069.                        the CString.
  6070.  
  6071.           Command Key: -!
  6072.           CString    : <String>
  6073.           Function   : Displays the current menu prompt using the CString
  6074.                        as the name in the prompt.
  6075.  
  6076.           Command Key: -.
  6077.           CString    : <drive:\path\FILENAME.EXT>
  6078.           Function   : Sends the filename specified in the CString to the
  6079.                        user.  This command will automatically check to
  6080.                        make sure the file is not in the menu or data
  6081.                        directories and will abort if it is.
  6082.  
  6083.           Command Key: -<
  6084.  
  6085.       ────────────────────────────────────────────────────────────────────
  6086.       Oblivion/2 v2.35 Bulletin Board System Documentation             104
  6087.       Section 22                                               MENU EDITOR
  6088.       ────────────────────────────────────────────────────────────────────
  6089.  
  6090.           CString    : <Absolute prompt #>,<Other Text 1>φ<Other Text 2>
  6091.           Function   : Displays prompt string specified in the CString,
  6092.                        and will use Other Text 1 in place of |OT and Other
  6093.                        Text 2 instead of |O2 that were defined in the real
  6094.                        string.  For example, instead of displaying the
  6095.                        time and number of downloads in a string, it could
  6096.                        be used to display anything you like.  This will
  6097.                        override what Oblivion/2 usually fills those MCI
  6098.                        codes with, with your own text.
  6099.  
  6100.           Command Key: -~
  6101.           CString    : <String> or None
  6102.           Function   : Sets the chat reason in the sysop's status bar to
  6103.                        the string in the CString.  If the CString is
  6104.                        empty, the BBS removes the chat reason from the
  6105.                        status bar.
  6106.  
  6107.           Command Key: -"
  6108.           CString    : None
  6109.           Function   : Sets the number of lines scrolled to 0.  This is
  6110.                        used to stop the screen from pausing (if turned on
  6111.                        in the user's account) for another screenful of
  6112.                        text.
  6113.  
  6114.           Command Key: -,
  6115.           CString    : <Pulldown ID>
  6116.           Function   : Sets the starting option in a pulldown menu to the
  6117.                        ID in the CString.
  6118.  
  6119.           Command Key: -'
  6120.           CString    : None
  6121.           Function   : Turns on pulldown menu "re-entrance".  This will
  6122.                        return the user to the selected option when the
  6123.                        user re-enters the pulldown menu.  This will only
  6124.                        work if the command the user chose does not take
  6125.                        them to another menu.  When a user chooses an
  6126.                        option that does not take them to a menu, upon
  6127.                        returning to the menu (ie. if the BBS swapped out
  6128.                        for a door game) the option they had just selected
  6129.                        will remain highlighted.
  6130.  
  6131.           Command Key: -`
  6132.           CString    : None
  6133.           Function   : Turns off pulldown menu "re-entrance".
  6134.  
  6135.  
  6136.  
  6137.       22.5.2: &? : MultiNode Commands
  6138.  
  6139.  
  6140.       These menu commands are for use with multinode systems and allow
  6141.  
  6142.       ────────────────────────────────────────────────────────────────────
  6143.       Oblivion/2 v2.35 Bulletin Board System Documentation             105
  6144.       Section 22                                               MENU EDITOR
  6145.       ────────────────────────────────────────────────────────────────────
  6146.  
  6147.       users to interact with other users on different nodes.
  6148.  
  6149.  
  6150.           Command Key: &A
  6151.           CString    : None
  6152.           Function   : Asks user whether or not he wishes to be available
  6153.                        for multinode chat.
  6154.  
  6155.           Command Key: &C
  6156.           CString    : None
  6157.           Function   : Enter multinode chat.
  6158.  
  6159.           Command Key: &D
  6160.           CString    : <String>
  6161.           Function   : Changes the multinode activity in the logs to the
  6162.                        string specified in the CString.
  6163.  
  6164.           Command Key: &F
  6165.           CString    : None
  6166.           Function   : Forces a user into multinode chat.
  6167.  
  6168.           Command Key: &L
  6169.           CString    : None
  6170.           Function   : Views the log of a user on another node.
  6171.  
  6172.           Command Key: &M
  6173.           CString    : None
  6174.           Function   : Sends a multinode message to a user on another
  6175.                        node.
  6176.  
  6177.           Command Key: &N
  6178.           CString    : None
  6179.           Function   : Allows a user to kick a user off of another node.
  6180.                        Since this command has some power, it is best to
  6181.                        restrict it's use to sysops and co-sysops.
  6182.  
  6183.           Command Key: &R
  6184.           CString    : None
  6185.           Function   : Allows user on current node to join multinode split
  6186.                        screen chat.
  6187.  
  6188.           Command Key: &S
  6189.           CString    : None
  6190.           Function   : Views multinode status.
  6191.  
  6192.           Command Key: &U
  6193.           CString    : None
  6194.           Function   : Sends a multinode message to all available nodes.
  6195.  
  6196.           Command Key: &X
  6197.           CString    : <String>
  6198.  
  6199.       ────────────────────────────────────────────────────────────────────
  6200.       Oblivion/2 v2.35 Bulletin Board System Documentation             106
  6201.       Section 22                                               MENU EDITOR
  6202.       ────────────────────────────────────────────────────────────────────
  6203.  
  6204.           Function   : Sends the text in the CString as a multinode
  6205.                        message to all available nodes.
  6206.  
  6207.           Command Key: &[
  6208.           CString    : None
  6209.           Function   : Sets user as available for multinode chat.
  6210.  
  6211.           Command Key: &]
  6212.           CString    : None
  6213.           Function   : Sets user as unavailable for multinode chat.
  6214.  
  6215.  
  6216.  
  6217.       22.5.3: {? : Matrix Commands
  6218.  
  6219.  
  6220.       These menu commands are used to load the bbs or allow callers to
  6221.       page the sysop or leave the sysop feedback without actually logging
  6222.       into the system.  A matrix is the menu that allows callers to either
  6223.       log in or do different functions.  It is similar to a frontend
  6224.       system.
  6225.  
  6226.  
  6227.           Command Key: {A
  6228.           CString    : None
  6229.           Function   : Applies as a new user.  If the user completes the
  6230.                        application, the FailFlag is set to false,
  6231.                        otherwise it is set to true.
  6232.  
  6233.           Command Key: {C
  6234.           CString    : None
  6235.           Function   : Checks user access.  If the user is validated, the
  6236.                        FailFlag is set to false, otherwise it is set to
  6237.                        true.
  6238.  
  6239.           Command Key: {D
  6240.           CString    : None
  6241.           Function   : If the user can logon with an account and password
  6242.                        and doesn't need the system password, the FailFlag
  6243.                        is set to false, otherwise it is set to true.
  6244.  
  6245.           Command Key: {F
  6246.           CString    : <User number>
  6247.           Function   : Leaves feedback to the user number specified in the
  6248.                        CString.
  6249.  
  6250.           Command Key: {G
  6251.           CString    : None
  6252.           Function   : Logs off of the matrix.
  6253.  
  6254.           Command Key: {L
  6255.  
  6256.       ────────────────────────────────────────────────────────────────────
  6257.       Oblivion/2 v2.35 Bulletin Board System Documentation             107
  6258.       Section 22                                               MENU EDITOR
  6259.       ────────────────────────────────────────────────────────────────────
  6260.  
  6261.           CString    : <System password>,<Errorlevel>
  6262.           Function   : Launches an additional system.  The system password
  6263.                        is the password the user needs to be dropped to the
  6264.                        other system, and the errorlevel is the errorlevel
  6265.                        Oblivion/2 will exit with (use in co-ordination
  6266.                        with the IF ERRORLEVEL commands in your batchfile).
  6267.  
  6268.           Command Key: {P
  6269.           CString    : None
  6270.           Function   : Matrix chat.
  6271.  
  6272.           Command Key: {S
  6273.           CString    : <#>
  6274.           Function   : Loads the main BBS system, where # is the number to
  6275.                        use for logins.  For example, a CString of 5 would
  6276.                        show PRELOGON.5, SYSPASS.5, and USERLOG.5.  This
  6277.                        can be used for enhanced matrix effects.
  6278.  
  6279.           Command Key: {T
  6280.           CString    : <#>
  6281.           Function   : Sets the FailFlag to false if the user is able to
  6282.                        get to the main system through knowing the system
  6283.                        password and having an account.  This could be used
  6284.                        for stacking commands at the matrix without
  6285.                        actually logging into the BBS.  It uses the same
  6286.                        CString system as the {S menu command.
  6287.  
  6288.           Command Key: {X
  6289.           CString    : None
  6290.           Function   : Drops into the BBS.  This command should be used
  6291.                        with caution.
  6292.  
  6293.  
  6294.  
  6295.       22.5.4: !? : Global Newscan Commands
  6296.  
  6297.  
  6298.       These menu commands are used to newscan either message or file
  6299.       conferences for new messages/files.
  6300.  
  6301.  
  6302.           Command Key: !A
  6303.           CString    : None
  6304.           Function   : Newscans message and file conferences.
  6305.  
  6306.           Command Key: !F
  6307.           CString    : None
  6308.           Function   : Newscans file conferences.
  6309.  
  6310.           Command Key: !M
  6311.           CString    : None
  6312.  
  6313.       ────────────────────────────────────────────────────────────────────
  6314.       Oblivion/2 v2.35 Bulletin Board System Documentation             108
  6315.       Section 22                                               MENU EDITOR
  6316.       ────────────────────────────────────────────────────────────────────
  6317.  
  6318.           Function   : Newscans message conferences.
  6319.  
  6320.  
  6321.  
  6322.       22.5.5: .? : Door Commands
  6323.  
  6324.  
  6325.       These menu commands are used to load up online door games or other
  6326.       doors for the users to play or use.  Please refer to OBV.FAQ for
  6327.       information on how to setup doors with Oblivion/2.
  6328.  
  6329.  
  6330.           Command Key: .E
  6331.           CString    : <FILENAME.EXT>
  6332.           Function   : Executes FILENAME.EXT in your main BBS directory
  6333.                        without creating a dropfile.  The following percent
  6334.                        codes are valid:
  6335.  
  6336.                           %1  Connect rate
  6337.                           %2  User number
  6338.  
  6339.           Command Key: .N
  6340.           CString    : <FILENAME.EXT>
  6341.           Function   : Creates a RBBS DORINFO1.DEF dropfile with COMO in
  6342.                        the dropfile if you are local and executes
  6343.                        FILENAME.EXT in the doors directory.
  6344.  
  6345.           Command Key: .R
  6346.           CString    : <FILENAME.EXT>
  6347.           Function   : Creates a RBBS DORINFO1.DEF dropfile with LOCAL in
  6348.                        the dropfile if you are local and executes
  6349.                        FILENAME.EXT in the doors directory.
  6350.  
  6351.           Command Key: .S
  6352.           CString    : <FILENAME.EXT>
  6353.           Function   : Creates a SRE DOOR.SR dropfile and executes
  6354.                        FILENAME.EXT in the doors directory.
  6355.  
  6356.           Command Key: .T
  6357.           CString    : <FILENAME.EXT>
  6358.           Function   : Creates a standard DOOR.SYS dropfile (GAP,
  6359.                        Telegard, WildCat! v3.0, etc.) and executes
  6360.                        FILENAME.EXT in the doors directory.
  6361.  
  6362.           Command Key: .U
  6363.           CString    : <FILENAME.EXT>
  6364.           Function   : Creates a standard DOOR.SYS dropfile (GAP,
  6365.                        Telegard, WildCat! v3.0, etc.) and executes
  6366.                        FILENAME.EXT in the doors directory.  This
  6367.                        command is different from .T in that it will
  6368.                        read the DOOR.SYS file on return and adjust
  6369.  
  6370.       ────────────────────────────────────────────────────────────────────
  6371.       Oblivion/2 v2.35 Bulletin Board System Documentation             109
  6372.       Section 22                                               MENU EDITOR
  6373.       ────────────────────────────────────────────────────────────────────
  6374.  
  6375.                        user records accordingly.  This is the command
  6376.                        you would use for CBV's, etc.
  6377.  
  6378.  
  6379.       22.5.6: ^? : New User Voting Commands
  6380.  
  6381.  
  6382.       These menu commands are used for New User Voting.  If you do not
  6383.       validate your users immediately upon application, they can be placed
  6384.       into NUV where a select group of people with the proper access, or
  6385.       all of your users, can vote on them as to whether they will receive
  6386.       access to the system.
  6387.  
  6388.       The ACS string for all NUV commands is as follows:
  6389.  
  6390.           <NUV level>,<Yes votes>,<No votes>,<Success>,<Deny>,<Val>
  6391.  
  6392.       where
  6393.  
  6394.           NUV level   The security level of users to be voted on.
  6395.           Yes votes   Number of yes votes needed for validation.
  6396.           No votes    Number of no votes needed for denial.
  6397.           Success     Security level given to validated users.
  6398.           Deny        Security level given to denied users.
  6399.           Val         Set to "+" to validate the user and give him the
  6400.                       default levels and flags.
  6401.  
  6402.       For example:
  6403.  
  6404.           10,20,15,50,1,+
  6405.  
  6406.       would be:
  6407.  
  6408.           Users with a security level of 10 are to be voted on; they need
  6409.           20 votes of Yes to be validated or 15 votes of No to be denied;
  6410.           they are given security level 50 if validated or security level
  6411.           1 if denied; they will be given all the new user defaults as
  6412.           defined in the Configuration (see Section 3.12).
  6413.  
  6414.  
  6415.           Command Key: ^D
  6416.           CString    : None
  6417.           Function   : Begins new user voting without asking the user if
  6418.                        they would like to skip it.
  6419.  
  6420.           Command Key: ^L
  6421.           CString    : None
  6422.           Function   : Lists the users that are currently in NUV.
  6423.  
  6424.           Command Key: ^S
  6425.           CString    : <Q> or None
  6426.  
  6427.       ────────────────────────────────────────────────────────────────────
  6428.       Oblivion/2 v2.35 Bulletin Board System Documentation             110
  6429.       Section 22                                               MENU EDITOR
  6430.       ────────────────────────────────────────────────────────────────────
  6431.  
  6432.           Function   : Asks the user if they would like to vote on any new
  6433.                        users.  If "Q" is specified in the CString, the
  6434.                        users cannot quit NUV.
  6435.  
  6436.           Command Key: ^Q
  6437.           CString    : None
  6438.           Function   : Goes through NUV without allowing the user to skip
  6439.                        a user or exit.
  6440.  
  6441.  
  6442.  
  6443.       22.5.7: *? : Sysop Commands
  6444.  
  6445.  
  6446.       This set of menu commands are all potentially dangerous commands if
  6447.       used by the wrong people.  Use them with caution.  These are menu
  6448.       commands that are reserved for sysops.
  6449.  
  6450.  
  6451.           Command Key: *#
  6452.           CString    : None
  6453.           Function   : Enters the menu editor.
  6454.  
  6455.           Command Key: *B
  6456.           CString    : None
  6457.           Function   : Allows the sysop to edit and view the system
  6458.                        Blacklist.
  6459.  
  6460.           Command Key: *C
  6461.           CString    : None
  6462.           Function   : Enters the system configuration menu.
  6463.  
  6464.           Command Key: *D
  6465.           CString    : None
  6466.           Function   : Enters the MiniDOS.
  6467.  
  6468.           Command Key: *E
  6469.           CString    : None
  6470.           Function   : Enters the prompt editor.
  6471.  
  6472.           Command Key: *I
  6473.           CString    : None
  6474.           Function   : Shows user infoforms.
  6475.  
  6476.           Command Key: *K
  6477.           CString    : None
  6478.           Function   : Clears (resets) user infoforms.
  6479.  
  6480.           Command Key: *L
  6481.           CString    : None
  6482.           Function   : Shows the sysop logs.
  6483.  
  6484.       ────────────────────────────────────────────────────────────────────
  6485.       Oblivion/2 v2.35 Bulletin Board System Documentation             111
  6486.       Section 22                                               MENU EDITOR
  6487.       ────────────────────────────────────────────────────────────────────
  6488.  
  6489.  
  6490.           Command Key: *M
  6491.           CString    : None
  6492.           Function   : Allows the sysop to make a user.
  6493.  
  6494.           Command Key: *P
  6495.           CString    : None
  6496.           Function   : Enters the protocol editor.
  6497.  
  6498.           Command Key: *R
  6499.           CString    : None
  6500.           Function   : Enters the menu prompt editor.
  6501.  
  6502.           Command Key: *S
  6503.           CString    : None
  6504.           Function   : Allows the sysop to edit and view either the
  6505.                        menuset libraries or the status screen libraries.
  6506.  
  6507.           Command Key: *T
  6508.           CString    : None
  6509.           Function   : Runs the internal text editor.
  6510.  
  6511.           Command Key: *U
  6512.           CString    : None
  6513.           Function   : Enters the user editor.
  6514.  
  6515.           Command Key: *V
  6516.           CString    : None
  6517.           Function   : Enters the event editor.
  6518.  
  6519.           Command Key: *X
  6520.           CString    : None
  6521.           Function   : Views the voting booth results.
  6522.  
  6523.           Command Key: *Y
  6524.           CString    : None
  6525.           Function   : Enters the parameter editor.
  6526.  
  6527.           Command Key: *Z
  6528.           CString    : None
  6529.           Function   : Enters the archiver editor.
  6530.  
  6531.  
  6532.  
  6533.       22.5.8: +? : Color Setting Commands
  6534.  
  6535.  
  6536.       These menu commands are used to set the user's color configuration.
  6537.       The number defined in the CString is a value of 1 through 15 as they
  6538.       correspond to the foreground color codes (ie. 15 is bright white).
  6539.  
  6540.  
  6541.       ────────────────────────────────────────────────────────────────────
  6542.       Oblivion/2 v2.35 Bulletin Board System Documentation             112
  6543.       Section 22                                               MENU EDITOR
  6544.       ────────────────────────────────────────────────────────────────────
  6545.  
  6546.  
  6547.           Command Key: +1
  6548.           CString    : <#>
  6549.           Function   : Sets the user's regular color to the value in the
  6550.                        CString.
  6551.  
  6552.           Command Key: +2
  6553.           CString    : <#>
  6554.           Function   : Sets the user's prompt color to the value in the
  6555.                        CString.
  6556.  
  6557.           Command Key: +3
  6558.           CString    : <#>
  6559.           Function   : Sets the user's input color to the value in the
  6560.                        CString.
  6561.  
  6562.           Command Key: +4
  6563.           CString    : <#>
  6564.           Function   : Sets the user's inverse color to the value in the
  6565.                        CString.
  6566.  
  6567.           Command Key: +5
  6568.           CString    : <#>
  6569.           Function   : Sets the user's status color to the value in the
  6570.                        CString.
  6571.  
  6572.           Command Key: +6
  6573.           CString    : <#>
  6574.           Function   : Sets the user's box color to the value in the
  6575.                        CString.
  6576.  
  6577.           Command Key: +S
  6578.           CString    : None
  6579.           Function   : Sets the user's default color configuration to the
  6580.                        colors defined in the system configuration.
  6581.  
  6582.  
  6583.  
  6584.       22.5.9: [? : Main Menu Commands
  6585.  
  6586.  
  6587.       These menu commands are miscellaneous system commands that are
  6588.       primarily used in the main menu but can be used for various
  6589.       functions almost anywhere.
  6590.  
  6591.  
  6592.           Command Key: [A
  6593.           CString    : None
  6594.           Function   : Edits the user's autosignature.
  6595.  
  6596.           Command Key: [C
  6597.  
  6598.       ────────────────────────────────────────────────────────────────────
  6599.       Oblivion/2 v2.35 Bulletin Board System Documentation             113
  6600.       Section 22                                               MENU EDITOR
  6601.       ────────────────────────────────────────────────────────────────────
  6602.  
  6603.           CString    : <N> or <A>
  6604.           Function   : Pages the sysop to chat.  A CString of "N" will not
  6605.                        ask for a chat reason, and a CString of "A" will
  6606.                        force the sysop to be available.
  6607.  
  6608.           Command Key: [D
  6609.           CString    : <#>
  6610.           Function   : Makes the user fill out the infoform specified by
  6611.                        the CString (ie. a CString of 2 will force the user
  6612.                        to fill out INFOFORM.2).
  6613.  
  6614.           Command Key: [F
  6615.           CString    : <Infoform#>,<Template>
  6616.           Function   : Fills out the infoform specified in the CString to
  6617.                        the template file specified in the CString.  The
  6618.                        template format is a filename without an extension
  6619.                        or trailing period.  For example, a CString of
  6620.                        "12,C:\APPS\OBVAPP" would fill out INFOFORM.12 and
  6621.                        write it to the textfile C:\APPS\OBVAPP.1, and the
  6622.                        next would be OBVAPP.2, and so on.  You are not
  6623.                        limited to the traditional 5 infoforms with this
  6624.                        command, and can have the user fill out any
  6625.                        infoform from 1 to 999, as long as the filename is
  6626.                        INFOFORM and the extension is the infoform number.
  6627.  
  6628.           Command Key: [G
  6629.           CString    : None
  6630.           Function   : Logs the user off of the system and displays
  6631.                        GOODBYE.ANS before disconnection.
  6632.  
  6633.           Command Key: [H
  6634.           CString    : None
  6635.           Function   : Logs the user off of the system and does not
  6636.                        display GOODBYE.ANS.
  6637.  
  6638.           Command Key: [I
  6639.           CString    : None
  6640.           Function   : Fills out infoforms and prompts user for which
  6641.                        infoform to fill out (1-5).
  6642.  
  6643.           Command Key: [K
  6644.           CString    : <FILENAME.EXT>
  6645.           Function   : User configuration.  With this command you can
  6646.                        create multiple "konfig" screens that the user can
  6647.                        use, using the same MCI codes as CONFSCR.ANS (the
  6648.                        default configuration screen, see Section 28.2).
  6649.                        These screens must be coded into your status screen
  6650.                        libraries (see Section 4.2).
  6651.  
  6652.           Command Key: [L
  6653.           CString    : None
  6654.  
  6655.       ────────────────────────────────────────────────────────────────────
  6656.       Oblivion/2 v2.35 Bulletin Board System Documentation             114
  6657.       Section 22                                               MENU EDITOR
  6658.       ────────────────────────────────────────────────────────────────────
  6659.  
  6660.           Function   : Displays a complete user list.
  6661.  
  6662.           Command Key: [S
  6663.           CString    : None
  6664.           Function   : Displays system statistics.  This command will
  6665.                        either display SYSSTAT.ANS (in the current status
  6666.                        screen library or the textfile directory) or else
  6667.                        display an internal display if no ansis are found.
  6668.  
  6669.           Command Key: [U
  6670.           CString    : <Max total time> <Max day's deposit>
  6671.           Function   : Internal time bank.  The maximum total time is the
  6672.                        maximum amount of time available for users to store
  6673.                        in the time bank, and the maximum day's deposit is
  6674.                        how much they can deposit per day.
  6675.  
  6676.           Command Key: [V
  6677.           CString    : <#> or None
  6678.           Function   : Views the daily log where # is the amount of days
  6679.                        back to display.  If the CString is left blank, the
  6680.                        entire system log is displayed.
  6681.  
  6682.           Command Key: [W
  6683.           CString    : <1-20>
  6684.           Function   : Lists the last callers to the system, and can be in
  6685.                        the range of 1 caller through 20 callers.
  6686.  
  6687.           Command Key: [X
  6688.           CString    : None
  6689.           Function   : Transfers to another user's account.  This command
  6690.                        should be restricted to sysop's alone, as it allows
  6691.                        one user to (in essence) log off and log back in as
  6692.                        a different user with full use of their account.
  6693.  
  6694.           Command Key: [Y
  6695.           CString    : None
  6696.           Function   : Displays the user's statistics (in the file
  6697.                        USERSTAT.ANS which is found in the status screen
  6698.                        libraries or the textfile directory).
  6699.  
  6700.           Command Key: [+
  6701.           CString    : None
  6702.           Function   : Allows the user to change their password.
  6703.  
  6704.           Command Key: [-
  6705.           CString    : None
  6706.           Function   : Forces the user to change their password.
  6707.  
  6708.  
  6709.  
  6710.       22.5.10: C? : Conference Editor Commands
  6711.  
  6712.       ────────────────────────────────────────────────────────────────────
  6713.       Oblivion/2 v2.35 Bulletin Board System Documentation             115
  6714.       Section 22                                               MENU EDITOR
  6715.       ────────────────────────────────────────────────────────────────────
  6716.  
  6717.  
  6718.  
  6719.       These menu commands allow you to edit and manipulate your message
  6720.       and file conferences.
  6721.  
  6722.  
  6723.           Command Key: CA
  6724.           CString    : None
  6725.           Function   : Adds a conference.
  6726.  
  6727.           Command Key: CD
  6728.           CString    : None
  6729.           Function   : Deletes a conference.
  6730.  
  6731.           Command Key: CE
  6732.           CString    : None
  6733.           Function   : Edits a conference.
  6734.  
  6735.           Command Key: CI
  6736.           CString    : None
  6737.           Function   : Initializes the conference editor.  This has to be
  6738.                        done before you can actually edit your conferences.
  6739.  
  6740.           Command Key: CL
  6741.           CString    : None
  6742.           Function   : Lists all conferences.
  6743.  
  6744.           Command Key: CR
  6745.           CString    : None
  6746.           Function   : Reorders the conferences.
  6747.  
  6748.           Command Key: CT
  6749.           CString    : None
  6750.           Function   : Selects conference type (messages or files).
  6751.  
  6752.           Command Key: CU
  6753.           CString    : None
  6754.           Function   : Lists users with access to a conference.
  6755.  
  6756.  
  6757.  
  6758.       22.5.11: D? : Data Area Commands
  6759.  
  6760.  
  6761.       These menu commands are used to manipulate the data areas.  The data
  6762.       areas are not unlike an online database that is completely
  6763.       configurable to the sysop's tastes and can be used for many
  6764.       different things.  See Section 16 for more information on the data
  6765.       areas.
  6766.  
  6767.  
  6768.  
  6769.       ────────────────────────────────────────────────────────────────────
  6770.       Oblivion/2 v2.35 Bulletin Board System Documentation             116
  6771.       Section 22                                               MENU EDITOR
  6772.       ────────────────────────────────────────────────────────────────────
  6773.  
  6774.           Command Key: DA
  6775.           CString    : None
  6776.           Function   : Adds data to current data area.
  6777.  
  6778.           Command Key: DD
  6779.           CString    : None
  6780.           Function   : Deletes data from current data area.
  6781.  
  6782.           Command Key: DC
  6783.           CString    : None
  6784.           Function   : Edits data in current data area.
  6785.  
  6786.           Command Key: DE
  6787.           CString    : None
  6788.           Function   : Edits selected data area.
  6789.  
  6790.           Command Key: DF
  6791.           CString    : None
  6792.           Function   : Lists data in current data area without asking for
  6793.                        range limits.
  6794.  
  6795.           Command Key: DG
  6796.           CString    : None
  6797.           Function   : Puts the current data area listing into a file and
  6798.                        if remote, will send it via file transfer.  This
  6799.                        option would be equivalent to turning on your term
  6800.                        program's capture feature and listing the data
  6801.                        area.
  6802.  
  6803.           Command Key: DK
  6804.           CString    : None
  6805.           Function   : Deletes selected data area.
  6806.  
  6807.           Command Key: DL
  6808.           CString    : None
  6809.           Function   : Lists data in current data area with asking for
  6810.                        range limits.
  6811.  
  6812.           Command Key: DM
  6813.           CString    : None
  6814.           Function   : Adds a data area.
  6815.  
  6816.           Command Key: DR
  6817.           CString    : None
  6818.           Function   : Displays a random entry in the current data area,
  6819.                        using the list prefix followed by RAN.ANS.  See
  6820.                        Section 28.3 for more information.
  6821.  
  6822.           Command Key: DS
  6823.           CString    : None
  6824.           Function   : Shows a data entry in the current data area.
  6825.  
  6826.       ────────────────────────────────────────────────────────────────────
  6827.       Oblivion/2 v2.35 Bulletin Board System Documentation             117
  6828.       Section 22                                               MENU EDITOR
  6829.       ────────────────────────────────────────────────────────────────────
  6830.  
  6831.  
  6832.           Command Key: D*
  6833.           CString    : <#> or None
  6834.           Function   : Changes to the data area specified in the CString
  6835.                        (by using the data area's ID number).  If the
  6836.                        CString is blank, the user will be prompted for
  6837.                        which data area to select.
  6838.  
  6839.  
  6840.  
  6841.       22.5.12: E? : Email Commands
  6842.  
  6843.  
  6844.       These menu commands are used to read and write and otherwise
  6845.       manipulate private email.  Private email is messages that are
  6846.       written directly to another user on the system, or written to a
  6847.       group of users as defined in the Group Manager (see Section 17.2).
  6848.  
  6849.  
  6850.           Command Key: EA
  6851.           CString    : None
  6852.           Function   : Sysop option to scan email.  This will scan all
  6853.                        email, regardless of sender or receiver.
  6854.  
  6855.           Command Key: EB
  6856.           CString    : None
  6857.           Function   : Looks in a user's mailbox to view email.
  6858.  
  6859.           Command Key: ED
  6860.           CString    : <#> or None
  6861.           Function   : Deletes incoming email, where the number in the
  6862.                        CString is the email number to delete.  If the
  6863.                        CString is blank, the user is prompted for which
  6864.                        piece of email to delete.
  6865.  
  6866.           Command Key: EE
  6867.           CString    : <#> or None
  6868.           Function   : Edits outgoing email, where the number in the
  6869.                        CString is the email number to edit.  If the
  6870.                        CString is blank, the user is prompted for which
  6871.                        piece of email to edit.
  6872.  
  6873.           Command Key: EF
  6874.           CString    : <#> or None
  6875.           Function   : Forwards incoming email, where the number in the
  6876.                        CString is the email number to forward.  If the
  6877.                        CString is blank, the user is prompted for which
  6878.                        piece of email to forward.
  6879.  
  6880.           Command Key: EG
  6881.           CString    : None
  6882.  
  6883.       ────────────────────────────────────────────────────────────────────
  6884.       Oblivion/2 v2.35 Bulletin Board System Documentation             118
  6885.       Section 22                                               MENU EDITOR
  6886.       ────────────────────────────────────────────────────────────────────
  6887.  
  6888.           Function   : Edits email groups.  See Section 17.2 for more
  6889.                        information on email groups.
  6890.  
  6891.           Command Key: EI
  6892.           CString    : None
  6893.           Function   : Lists incoming email.
  6894.  
  6895.           Command Key: EK
  6896.           CString    : <#> or None
  6897.           Function   : Kills outgoing email, where the number in the
  6898.                        CString is the email number to kill.  If the
  6899.                        CString is blank, the user is prompted for which
  6900.                        piece of email to kill.
  6901.  
  6902.           Command Key: EL
  6903.           CString    : None
  6904.           Function   : Lists incoming and outgoing email.  This command
  6905.                        would be the equivalent of stacking an EI menu
  6906.                        command with an EO menu command directly after it.
  6907.  
  6908.           Command Key: EM
  6909.           CString    : None
  6910.           Function   : Memorizes email.  Be sure to put the M! menu
  6911.                        command in the email menu or stacked in your logoff
  6912.                        commands so that the user can download the email
  6913.                        capture.
  6914.  
  6915.           Command Key: EN
  6916.           CString    : None
  6917.           Function   : Scans for new email.
  6918.  
  6919.           Command Key: EO
  6920.           CString    : None
  6921.           Function   : Lists outgoing email.
  6922.  
  6923.           Command Key: EP
  6924.           CString    : <#> or None
  6925.           Function   : Replies to incoming email, where the number in the
  6926.                        CString is the email number to reply to.  If the
  6927.                        CString is blank, the user is prompted for which
  6928.                        piece of email to reply to.
  6929.  
  6930.           Command Key: ER
  6931.           CString    : <#> or None
  6932.           Function   : Reads incoming email, where the number in the
  6933.                        CString is the email number to read.  If the
  6934.                        CString is blank, the user is prompted for which
  6935.                        piece of email to read.
  6936.  
  6937.           Command Key: ES
  6938.           CString    : <#> or None
  6939.  
  6940.       ────────────────────────────────────────────────────────────────────
  6941.       Oblivion/2 v2.35 Bulletin Board System Documentation             119
  6942.       Section 22                                               MENU EDITOR
  6943.       ────────────────────────────────────────────────────────────────────
  6944.  
  6945.           Function   : Sends email message, where the number in the
  6946.                        CString is the user number to whom the email should
  6947.                        be sent.  If the CString is blank, the user is
  6948.                        prompted for which user he wishes to send email to.
  6949.  
  6950.           Command Key: ET
  6951.           CString    : None
  6952.           Function   : Shows incoming/outgoing email information,
  6953.                        displaying the number of incoming email and the
  6954.                        number of outgoing email.
  6955.  
  6956.           Command Key: EV
  6957.           CString    : <#> or None
  6958.           Function   : Views outgoing email, where the number in the
  6959.                        CString is the email number to view.  If the
  6960.                        CString is blank, the user is prompted for which
  6961.                        piece of email to view.
  6962.  
  6963.           Command Key: EX
  6964.           CString    : None
  6965.           Function   : Purges filemail older than the number of days
  6966.                        defined in the Configuration (Section 3.9).
  6967.  
  6968.           Command Key: EY
  6969.           CString    : None
  6970.           Function   : Allows the user to read their email without it
  6971.                        being marked as read.  (Also known as Spy Mail.)
  6972.  
  6973.           Command Key: EZ
  6974.           CString    : None
  6975.           Function   : Packs email and physically removes all deleted
  6976.                        messages.  It's best to do this every once in a
  6977.                        while to speed up email operations.
  6978.  
  6979.           Command Key: E+
  6980.           CString    : None
  6981.           Function   : Allows user to read all mail.  This command is used
  6982.                        with the Email Tag System (see Section 17.1).
  6983.  
  6984.           Command Key: E-
  6985.           CString    : None
  6986.           Function   : Allows user to read only his own mail.  This
  6987.                        commands is used with the Email Tag System (see
  6988.                        Section 17.1).
  6989.  
  6990.           Command Key: E$
  6991.           CString    : <#>
  6992.           Function   : Sets the incoming email tag to the value in the
  6993.                        CString, where the valid range is 0 through 255.
  6994.  
  6995.           Command Key: E#
  6996.  
  6997.       ────────────────────────────────────────────────────────────────────
  6998.       Oblivion/2 v2.35 Bulletin Board System Documentation             120
  6999.       Section 22                                               MENU EDITOR
  7000.       ────────────────────────────────────────────────────────────────────
  7001.  
  7002.           CString    : <#>
  7003.           Function   : Sets the outgoing email tag to the value in the
  7004.                        CString, where the valid range is 0 through 255.
  7005.  
  7006.  
  7007.  
  7008.       22.5.13: F? : File Commands
  7009.  
  7010.  
  7011.       These menu commands are used to list, view, and otherwise manipulate
  7012.       the files that are on your board.  They are primarily used in the
  7013.       file menu.
  7014.  
  7015.  
  7016.           Command Key: FA
  7017.           CString    : None
  7018.           Function   : Lists all file areas in the current conference but
  7019.                        does not prompt the user for which area to switch
  7020.                        to.
  7021.  
  7022.           Command Key: FB
  7023.           CString    : None
  7024.           Function   : Enters the batch manipulation menu.
  7025.  
  7026.           Command Key: FC
  7027.           CString    : <FILENAME> or <#> or None
  7028.           Function   : Changes files.  If a filename is specified in the
  7029.                        CString, or a file number (of file in current
  7030.                        area), then that file will be edited, or the system
  7031.                        will prompt if the CString is blank.
  7032.  
  7033.           Command Key: FD
  7034.           CString    : <FILENAME> or <#> or None
  7035.           Function   : Downloads files.  If a filename is specified in the
  7036.                        CString, or a file number (of file in current
  7037.                        area), then that file will be downloaded, or the
  7038.                        system will prompt in the CString is blank.
  7039.  
  7040.           Command Key: FE
  7041.           CString    : None
  7042.           Function   : Newscans the current file area.
  7043.  
  7044.           Command Key: FF
  7045.           CString    : None
  7046.           Function   : Newscans all file areas in current conference.
  7047.  
  7048.           Command Key: FG
  7049.           CString    : <Operation name>,<Batchfile>
  7050.           Function   : Custom File Operations.  This command is used to
  7051.                        add functions not internally supported by
  7052.                        Oblivion/2.  This command works via using DOS
  7053.  
  7054.       ────────────────────────────────────────────────────────────────────
  7055.       Oblivion/2 v2.35 Bulletin Board System Documentation             121
  7056.       Section 22                                               MENU EDITOR
  7057.       ────────────────────────────────────────────────────────────────────
  7058.  
  7059.                        batchfiles for manipulation.  The custom file
  7060.                        operations menu command will create a list of files
  7061.                        that are in the user's batch queue with full drive
  7062.                        and pathnames, called FILELIST., which is found in
  7063.                        the work directory.  The Operation Name in the
  7064.                        CString is used in prompt #XX (Enter up to 50 files
  7065.                        to <Operation Name>.).  The batchfile then tells
  7066.                        the BBS which DOS commands to execute.  An example
  7067.                        of a custom file operation is this:  Perhaps you
  7068.                        have an artwork oriented board with a number of
  7069.                        ansis uncompressed in your file lists.  The user
  7070.                        then tags which ansis he would like to download,
  7071.                        and then selects an option called "Zip Up" which
  7072.                        will zip up all of the ansis into one archive for
  7073.                        them to download (as opposed to them downloading 50
  7074.                        ansis).  This is how it would be executed:
  7075.  
  7076.                        Command Key: FG
  7077.                        CString    : Zip Up,ZIP.BAT
  7078.  
  7079.                        ZIP.BAT would look as follows:
  7080.  
  7081.                        @echo off
  7082.                        C:\OBV\PKZIP.EXE %1ZIPDANSI @%1FILELIST.
  7083.  
  7084.                        where %1 is the full drive and path of the work
  7085.                        directory.  When expanded, the commandline of
  7086.                        ZIP.BAT would look like this:
  7087.  
  7088.                        C:\OBV\PKZIP.EXE C:\OBV\WORK\ZIPDANSI.ZIP
  7089.                        @C:\OBV\WORK\FILELIST.
  7090.  
  7091.           Command Key: FI
  7092.           CString    : None
  7093.           Function   : Initializes the file areas in the selected file
  7094.                        conference.  This command must be used before any
  7095.                        file manipulation or any file area listing.
  7096.  
  7097.           Command Key: FK
  7098.           CString    : None
  7099.           Function   : User configurable file list configuration.
  7100.  
  7101.           Command Key: FL
  7102.           CString    : None
  7103.           Function   : Lists files in the current file area.
  7104.  
  7105.           Command Key: FM
  7106.           CString    : None
  7107.           Function   : Bi-Directional file transfers.  Keep in mind that
  7108.                        for bi-directional file transfers, you must have a
  7109.                        program that will convert the protocol's log files
  7110.  
  7111.       ────────────────────────────────────────────────────────────────────
  7112.       Oblivion/2 v2.35 Bulletin Board System Documentation             122
  7113.       Section 22                                               MENU EDITOR
  7114.       ────────────────────────────────────────────────────────────────────
  7115.  
  7116.                        into a DSZ compatible log file format.  The
  7117.                        filename it creates must be the same as the logname
  7118.                        defined in the Configuration (see Section 3.6) with
  7119.                        a U or D as the last character in the filename's
  7120.                        extension.  For example, if the logname was defined
  7121.                        as C:\OBV\DSZLOG, the filename would have to be
  7122.                        C:\OBV\DSZLOG.1U or C:\OBV\DSZLOG.1D for uploads or
  7123.                        downloads, respectively.
  7124.  
  7125.           Command Key: FN
  7126.           CString    : None
  7127.           Function   : Newscans file areas, and prompts user whether they
  7128.                        wish to scan all areas or only the current area.
  7129.  
  7130.           Command Key: FO
  7131.           CString    : <FILENAME> or <#> or None
  7132.           Function   : Shows extended information on files.  If a filename
  7133.                        is specified in the CString, or a file number (of
  7134.                        file in current file area), then that file's info
  7135.                        will be displayed, or the system will prompt if the
  7136.                        CString is blank.
  7137.  
  7138.           Command Key: FP
  7139.           CString    : None
  7140.           Function   : Requests files, and will generate a sysop notice
  7141.                        for each file requested.
  7142.  
  7143.           Command Key: FQ
  7144.           CString    : <+/-><Option number>
  7145.           Function   : This command is used to toggle options in the
  7146.                        user's file listing configuration.  A "+" followed
  7147.                        by option numbers will turn those options on, while
  7148.                        a "-" will turn the following options off.  Valid
  7149.                        options are:
  7150.  
  7151.                           0  Turns all options off.
  7152.                           1  Turns on file status.
  7153.                           2  Turns on file points.
  7154.                           3  Turns on file size.
  7155.                           4  Turns on file upload date.
  7156.                           5  Turns on file number of downloads.
  7157.                           6  Turns on file uploader.
  7158.                           7  Turns on file description
  7159.  
  7160.           Command Key: FR
  7161.           CString    : <FILENAME> or <#> or None
  7162.           Function   : Resumes files.  If a filename is specified in the
  7163.                        CString, or a file number (of file in current file
  7164.                        area), then that file will be resumed, or the
  7165.                        system will prompt if the CString is blank.
  7166.  
  7167.  
  7168.       ────────────────────────────────────────────────────────────────────
  7169.       Oblivion/2 v2.35 Bulletin Board System Documentation             123
  7170.       Section 22                                               MENU EDITOR
  7171.       ────────────────────────────────────────────────────────────────────
  7172.  
  7173.           Command Key: FS
  7174.           CString    : <#> or None
  7175.           Function   : Selects file area from current file conference.  If
  7176.                        the CString contains a number, then that file area
  7177.                        will be selected, otherwise the system will prompt
  7178.                        the user.
  7179.  
  7180.           Command Key: FT
  7181.           CString    : <FILENAME> or <#> or None
  7182.           Function   : Types text files.  If a filename is specified in
  7183.                        the CString, or a file number (of file in current
  7184.                        file area), then that file will be typed, or the
  7185.                        system will prompt if the CString is blank.
  7186.  
  7187.           Command Key: FU
  7188.           CString    : <Blind> or None
  7189.           Function   : Uploads files.  If the CString contains the word
  7190.                        "blind" then the system will not prompt for
  7191.                        filenames and descriptions until after the files
  7192.                        have been received, otherwise it will prompt first.
  7193.  
  7194.           Command Key: FV
  7195.           CString    : None
  7196.           Function   : Views a list of files contained in an archive.
  7197.  
  7198.           Command Key: FW
  7199.           CString    : None
  7200.           Function   : Lists users with access to the current file area.
  7201.  
  7202.           Command Key: FX
  7203.           CString    : <FILENAME> or <#> or None
  7204.           Function   : Extracts files.  If a filename is specified in the
  7205.                        CString, or a file number (of file in current file
  7206.                        area), then that file will be extracted, or the
  7207.                        system will prompt if the CString is blank.  This
  7208.                        will extract files from an archive for user viewing
  7209.                        (ie. with the type files command).
  7210.  
  7211.           Command Key: FY
  7212.           CString    : <FILENAME> or <#> or None
  7213.           Function   : Displays FILESTAT.ANS (user's file statistics
  7214.                        screen).
  7215.  
  7216.           Command Key: FZ
  7217.           CString    : None
  7218.           Function   : Performs a key word or wildcard search for files.
  7219.  
  7220.           Command Key: F[
  7221.           CString    : None
  7222.           Function   : Goes to previous file area.
  7223.  
  7224.  
  7225.       ────────────────────────────────────────────────────────────────────
  7226.       Oblivion/2 v2.35 Bulletin Board System Documentation             124
  7227.       Section 22                                               MENU EDITOR
  7228.       ────────────────────────────────────────────────────────────────────
  7229.  
  7230.           Command Key: F]
  7231.           CString    : None
  7232.           Function   : Goes to next file area.
  7233.  
  7234.           Command Key: F|
  7235.           CString    : <-> or None
  7236.           Function   : Generates a complete file list of all files listed
  7237.                        that the user has access to.  If the CString
  7238.                        contains "-" then the output file will be strictly
  7239.                        ascii, if the CString is blank, the output file
  7240.                        will contain ansi codes.
  7241.  
  7242.           Command Key: F=
  7243.           CString    : <Y/N> or None
  7244.           Function   : Toggles scrollable file listings.  If the CString
  7245.                        is "Y" then scrolling listings are on, if the
  7246.                        CString is "N" then they are off.  If the CString
  7247.                        is blank, it will toggle the listings (ie. if
  7248.                        scrolling is on and CString is blank, when selected
  7249.                        scrolling will be off).
  7250.  
  7251.           Command Key: F+
  7252.           CString    : <FILENAME> or <#> or None
  7253.           Function   : Tags files.  If a filename is specified in the
  7254.                        CString, or a file number (of file in current file
  7255.                        area), then that file will be tagged, or the system
  7256.                        will prompt if the CString is blank.
  7257.  
  7258.  
  7259.       22.5.14: J? : Join Conference Commands
  7260.  
  7261.  
  7262.       These menu commands are used to join different conferences, whether
  7263.       they be message or file conferences.
  7264.  
  7265.       You will need to understand one thing for these menu commands to
  7266.       make sense to you.  There are two "kinds" of conferences, relative
  7267.       and absolute.  Relative conferences are the number of conferences
  7268.       that the user "sees", or has access to.  If, for example, you have 5
  7269.       file conferences, but a user only has access to 3 of them, he will
  7270.       see conferences 1, 2, and 3 regardless of whether he may have access
  7271.       to conferences 1, 3, and 5.  Absolute conferences are those where
  7272.       the conference number never varies.  If the user does not have
  7273.       access to a conference, he will be able to see it, whereas with
  7274.       relative conferences he would not see it.  A user might be able to
  7275.       join a deleted conference if you use the absolute conference method.
  7276.  
  7277.  
  7278.           Command Key: JF
  7279.           CString    : <#> or None
  7280.           Function   : Joins relative file conference in the CString or
  7281.  
  7282.       ────────────────────────────────────────────────────────────────────
  7283.       Oblivion/2 v2.35 Bulletin Board System Documentation             125
  7284.       Section 22                                               MENU EDITOR
  7285.       ────────────────────────────────────────────────────────────────────
  7286.  
  7287.                        the system will prompt if the CString is blank.  If
  7288.                        the user presses "Q", the FailFlag will be set to
  7289.                        true, otherwise it will be false.
  7290.  
  7291.           Command Key: JM
  7292.           CString    : <#> or None
  7293.           Function   : Joins relative message conference in the CString or
  7294.                        the system will prompt if the CString is blank.  If
  7295.                        the user presses "Q", the FailFlag will be set to
  7296.                        true, otherwise it will be false.
  7297.  
  7298.           Command Key: JS
  7299.           CString    : <Conference ID>
  7300.           Function   : Joins absolute message conference specified in the
  7301.                        CString.
  7302.  
  7303.           Command Key: JT
  7304.           CString    : <Conference ID>
  7305.           Function   : Joins absolute file conference specified in the
  7306.                        CString.
  7307.  
  7308.  
  7309.  
  7310.       22.5.15: M? : Message Commands
  7311.  
  7312.  
  7313.       These menu commands are used for reading messages and manipulating
  7314.       messages online.  They are primarily used in your message menu.
  7315.  
  7316.  
  7317.           Command Key: MB
  7318.           CString    : None
  7319.           Function   : Scans messages backwards by title.
  7320.  
  7321.           Command Key: MC
  7322.           CString    : None
  7323.           Function   : Newscan configuration for the current conference.
  7324.                        This allows users to choose which message bases
  7325.                        will be included in their newscans and QWK packets
  7326.                        by using the spacebar to toggle areas.
  7327.  
  7328.           Command Key: MD
  7329.           CString    : None
  7330.           Function   : Deletes a message.
  7331.  
  7332.           Command Key: ME
  7333.           CString    : None
  7334.           Function   : Edits a message.
  7335.  
  7336.           Command Key: MF
  7337.           CString    : None
  7338.  
  7339.       ────────────────────────────────────────────────────────────────────
  7340.       Oblivion/2 v2.35 Bulletin Board System Documentation             126
  7341.       Section 22                                               MENU EDITOR
  7342.       ────────────────────────────────────────────────────────────────────
  7343.  
  7344.           Function   : Newscans all message bases in current conference.
  7345.  
  7346.           Command Key: MG
  7347.           CString    : None
  7348.           Function   : Displays BCHANGE.ANS.
  7349.  
  7350.           Command Key: MH
  7351.           CString    : <#>
  7352.           Function   : Selects message header where CString can be:
  7353.  
  7354.                           0   Internal header
  7355.                           1   External header (HEADER.ANS)
  7356.                           2   External header #1 (HEADER.1)
  7357.                           3   External header #2 (HEADER.2) etc...
  7358.  
  7359.                        The HEADER.ANS file is found in the status screen
  7360.                        libraries and the HEADER.x files can be found
  7361.                        either in the status screen libraries or the
  7362.                        textfile directory.
  7363.  
  7364.           Command Key: MI
  7365.           CString    : <N> or None
  7366.           Function   : Initializes the message bases in this conference.
  7367.                        This command must be used before any base listing
  7368.                        or message reading commands.  If the CString is "N"
  7369.                        then BCHANGE.ANS will not be displayed, otherwise
  7370.                        it will.
  7371.  
  7372.           Command Key: MJ
  7373.           CString    : <T/F/D/I/X>
  7374.           Function   : Newscans message by type, but does not update
  7375.                        lastread pointers, where type is:
  7376.  
  7377.                           T   To current user.
  7378.                           F   From current user.
  7379.                           D   After date.
  7380.                           I   Containing certain information.
  7381.                           X   Containing certain text.
  7382.  
  7383.           Command Key: ML
  7384.           CString    : None
  7385.           Function   : Lists message bases in current conference.
  7386.  
  7387.           Command Key: MM
  7388.           CString    : <#> or None
  7389.           Function   : Memorizes the message number in the CString, or
  7390.                        will prompt the user if the CString is blank.
  7391.  
  7392.           Command Key: MN
  7393.           CString    : None
  7394.           Function   : Newscans message bases and prompts the user whether
  7395.  
  7396.       ────────────────────────────────────────────────────────────────────
  7397.       Oblivion/2 v2.35 Bulletin Board System Documentation             127
  7398.       Section 22                                               MENU EDITOR
  7399.       ────────────────────────────────────────────────────────────────────
  7400.  
  7401.                        they wish to scan all bases or only the current
  7402.                        base.
  7403.  
  7404.           Command Key: MO
  7405.           CString    : <T/F/D/I/X>
  7406.           Function   : Newscans messages by type and will update the
  7407.                        lastread pointers.  This command uses the same
  7408.                        CString format as the MJ command.
  7409.  
  7410.           Command Key: MP
  7411.           CString    : None
  7412.           Function   : Posts a message.
  7413.  
  7414.           Command Key: MR
  7415.           CString    : None
  7416.           Function   : Reads messages.
  7417.  
  7418.           Command Key: MS
  7419.           CString    : <#> or None
  7420.           Function   : Selects the message base specified in the CString
  7421.                        or the system will prompt if the CString is blank.
  7422.  
  7423.           Command Key: MT
  7424.           CString    : None
  7425.           Function   : Reads messages in the current base with reply
  7426.                        reading newscan (basically follows the reply
  7427.                        threads in a consecutive format in regards to
  7428.                        message titles).
  7429.  
  7430.           Command Key: MU
  7431.           CString    : None
  7432.           Function   : Lists users with access to the current conference.
  7433.  
  7434.           Command Key: MV
  7435.           CString    : None
  7436.           Function   : Reads messages in the current base with normal
  7437.                        reading newscan.
  7438.  
  7439.           Command Key: MW
  7440.           CString    : <#> or None
  7441.           Function   : Scans message from the message number in the
  7442.                        CString (or system prompted user entry) for forward
  7443.                        title scanning.
  7444.  
  7445.           Command Key: MZ
  7446.           CString    : None
  7447.           Function   : Scans for new system news (scans through all
  7448.                        mandatory message bases that the user has access
  7449.                        to).
  7450.  
  7451.           Command Key: M[
  7452.  
  7453.       ────────────────────────────────────────────────────────────────────
  7454.       Oblivion/2 v2.35 Bulletin Board System Documentation             128
  7455.       Section 22                                               MENU EDITOR
  7456.       ────────────────────────────────────────────────────────────────────
  7457.  
  7458.           CString    : <N> or None
  7459.           Function   : Goes to the previous message base.  If the CString
  7460.                        contains an "N" then BCHANGE.ANS will not be
  7461.                        displayed, otherwise it will.  The FailFlag is set
  7462.                        to true if the user is at the first message base.
  7463.  
  7464.           Command Key: M]
  7465.           CString    : <N> or None
  7466.           Function   : Goes to the next message base.  If the CString
  7467.                        contains an "N" then BCHANGE.ANS will not be
  7468.                        displayed, otherwise it will.  The FailFlag is set
  7469.                        to true if the user is at the last message base.
  7470.  
  7471.           Command Key: M!
  7472.           CString    : None
  7473.           Function   : Downloads captured messages.
  7474.  
  7475.  
  7476.  
  7477.       22.5.16: N? : Message Reading Commands
  7478.  
  7479.  
  7480.       These commands are used within message reading.  With these menu
  7481.       commands, it is possible to create your own message reading or
  7482.       message newscan sub-menus  instead of using the internal one.
  7483.  
  7484.  
  7485.           Command Key: N#
  7486.           CString    : <#>
  7487.           Function   : Reads the message number specified in the CString
  7488.                        in the current message base.
  7489.  
  7490.           Command Key: NA
  7491.           CString    : None
  7492.           Function   : Reads the current message again.
  7493.  
  7494.           Command Key: NB
  7495.           CString    : None
  7496.           Function   : Backwards thread of messages.
  7497.  
  7498.           Command Key: ND
  7499.           CString    : None
  7500.           Function   : Deletes current message.
  7501.  
  7502.           Command Key: NE
  7503.           CString    : None
  7504.           Function   : Edits the current message.
  7505.  
  7506.           Command Key: NF
  7507.           CString    : None
  7508.           Function   : Reads messages with forward title scan (scans for
  7509.  
  7510.       ────────────────────────────────────────────────────────────────────
  7511.       Oblivion/2 v2.35 Bulletin Board System Documentation             129
  7512.       Section 22                                               MENU EDITOR
  7513.       ────────────────────────────────────────────────────────────────────
  7514.  
  7515.                        upcoming messages with a similar title) with
  7516.                        lastread pointer advance (updates lastread pointer
  7517.                        with each match).
  7518.  
  7519.           Command Key: NG
  7520.           CString    : None
  7521.           Function   : Sets the lastread message pointer to the current
  7522.                        message.
  7523.  
  7524.           Command Key: NI
  7525.           CString    : None
  7526.           Function   : Sets the FailFlag to true if the user is at the
  7527.                        last message in the current base.
  7528.  
  7529.           Command Key: NL
  7530.           CString    : None
  7531.           Function   : Sets the FailFlag to true if the user is at the
  7532.                        last message base in the current conference.
  7533.  
  7534.           Command Key: NM
  7535.           CString    : None
  7536.           Function   : Memorizes the current message.
  7537.  
  7538.           Command Key: NN
  7539.           CString    : None
  7540.           Function   : Reads the next message in the current base.
  7541.  
  7542.           Command Key: NO
  7543.           CString    : None
  7544.           Function   : Backward title scan from the current message in the
  7545.                        current base.
  7546.  
  7547.           Command Key: NP
  7548.           CString    : None
  7549.           Function   : Private reply to the current message.  Places the
  7550.                        reply in email.
  7551.  
  7552.           Command Key: NR
  7553.           CString    : None
  7554.           Function   : Replies to the current message.  Places the reply
  7555.                        in the current message base.
  7556.  
  7557.           Command Key: NS
  7558.           CString    : <#> or None
  7559.           Function   : Sets the current message in single message reading
  7560.                        to the previous message if the current message
  7561.                        number is greater than the number specified by the
  7562.                        CString.
  7563.  
  7564.           Command Key: NT
  7565.           CString    : None
  7566.  
  7567.       ────────────────────────────────────────────────────────────────────
  7568.       Oblivion/2 v2.35 Bulletin Board System Documentation             130
  7569.       Section 22                                               MENU EDITOR
  7570.       ────────────────────────────────────────────────────────────────────
  7571.  
  7572.           Function   : Forward title scan from the current message in the
  7573.                        current base.
  7574.  
  7575.           Command Key: NU
  7576.           CString    : None
  7577.           Function   : Moves the reading pointer to the message that is
  7578.                        stored as the lastread message.  This command will
  7579.                        begin the user reading at their lastread message.
  7580.  
  7581.           Command Key: NX
  7582.           CString    : None
  7583.           Function   : Reads messages with backwards title scan (scans for
  7584.                        previous messages with a similar title) with
  7585.                        lastread pointer retreat (updates lastread pointer
  7586.                        with each match).
  7587.  
  7588.           Command Key: NY
  7589.           CString    : None
  7590.           Function   : Returns the FailFlag if the current message base is
  7591.                        not in the user's newscan (by means of them
  7592.                        toggling the base off in their newscan
  7593.                        configuration).
  7594.  
  7595.  
  7596.  
  7597.       22.5.17: Q? : QWKMail Menu Commands
  7598.  
  7599.  
  7600.       These commands are used for QWK packet manipulation.  A QWK packet
  7601.       is an extraction of all the messages on the board that the user has
  7602.       access to which is archived and sent to them so that they can read
  7603.       it offline with an offline reader such as BlueWave.
  7604.  
  7605.  
  7606.           Command Key: QD
  7607.           CString    : None
  7608.           Function   : Updates the lastread message number to the first
  7609.                        message after the date specified by the user (ie.
  7610.                        if the user specified 01/12/96, all messages
  7611.                        written previous to this date will be marked as
  7612.                        read, while messages written on and after this
  7613.                        date will be marked as unread).
  7614.  
  7615.           Command Key: QL
  7616.           CString    : None
  7617.           Function   : Allows the user to edit the last QWK reply (.REP)
  7618.                        upload date.
  7619.  
  7620.           Command Key: QM
  7621.           CString    : None
  7622.           Function   : Makes a QWK packet for the user.  If the user
  7623.  
  7624.       ────────────────────────────────────────────────────────────────────
  7625.       Oblivion/2 v2.35 Bulletin Board System Documentation             131
  7626.       Section 22                                               MENU EDITOR
  7627.       ────────────────────────────────────────────────────────────────────
  7628.  
  7629.                        presses ESC twice during the creation process, it
  7630.                        will be aborted.
  7631.  
  7632.           Command Key: QR
  7633.           CString    : None
  7634.           Function   : Allows the user to upload a QWK reply (.REP)
  7635.                        packet.
  7636.  
  7637.           Command Key: QU
  7638.           CString    : None
  7639.           Function   : Updates the user's lastread pointers so that all
  7640.                        messages are marked as read.  This command would be
  7641.                        a good one to force on new users when they first
  7642.                        logon the board so that they don't download a
  7643.                        massive QWK packet.
  7644.  
  7645.  
  7646.  
  7647.       22.5.18: R? : Top Ten Listing Commands
  7648.  
  7649.  
  7650.       These menu commands are used to display top ten listings to the
  7651.       users.
  7652.  
  7653.       For all of the top ten listing menu commands, there is a similar
  7654.       feature in the CString for each command.  If you place an * behind
  7655.       the top ten header (as defined in the CString), the listing will not
  7656.       pause and prompt for a return from the user.  If the CString
  7657.       contains only a header with no * at the end, the listing will prompt
  7658.       for a return.
  7659.  
  7660.  
  7661.           Command Key: RA
  7662.           CString    : <Header>
  7663.           Function   : Top ten list by best uploaders where the header in
  7664.                        the CString is the header to display in the list.
  7665.  
  7666.           Command Key: RB
  7667.           CString    : <Header>
  7668.           Function   : Top ten list by worst uploaders.
  7669.  
  7670.           Command Key: RC
  7671.           CString    : <Header>
  7672.           Function   : Top ten list by best downloaders.
  7673.  
  7674.           Command Key: RD
  7675.           CString    : <Header>
  7676.           Function   : Top ten list by worst downloaders.
  7677.  
  7678.           Command Key: RE
  7679.           CString    : <Header>
  7680.  
  7681.       ────────────────────────────────────────────────────────────────────
  7682.       Oblivion/2 v2.35 Bulletin Board System Documentation             132
  7683.       Section 22                                               MENU EDITOR
  7684.       ────────────────────────────────────────────────────────────────────
  7685.  
  7686.           Function   : Top ten list by best post/call ratio.
  7687.  
  7688.           Command Key: RF
  7689.           CString    : <Header>
  7690.           Function   : Top ten list by worst post/call ratio.
  7691.  
  7692.           Command Key: RG
  7693.           CString    : <Header>
  7694.           Function   : Top ten list by best uploaders in Kbytes.
  7695.  
  7696.           Command Key: RH
  7697.           CString    : <Header>
  7698.           Function   : Top ten list by worst uploaders in Kbytes.
  7699.  
  7700.           Command Key: RI
  7701.           CString    : <Header>
  7702.           Function   : Top ten list by best downloaders in Kbytes.
  7703.  
  7704.           Command Key: RJ
  7705.           CString    : <Header>
  7706.           Function   : Top ten list by worst downloaders in Kbytes.
  7707.  
  7708.           Command Key: RK
  7709.           CString    : <Header>
  7710.           Function   : Top ten list by best message posters.
  7711.  
  7712.           Command Key: RL
  7713.           CString    : <Header>
  7714.           Function   : Top ten list by worst message posters.
  7715.  
  7716.           Command Key: RM
  7717.           CString    : <Header>
  7718.           Function   : Top ten list by best callers.
  7719.  
  7720.           Command Key: RN
  7721.           CString    : <Header>
  7722.           Function   : Top ten list by worst callers.
  7723.  
  7724.  
  7725.  
  7726.       22.5.19: S? : Message Base Sponsor Commands
  7727.  
  7728.  
  7729.       These menu commands are basically sysop commands for message base
  7730.       creation and manipulation.  Access should only be given to sysops,
  7731.       co-sysops, or message base sponsors.
  7732.  
  7733.  
  7734.           Command Key: SC
  7735.           CString    : None
  7736.           Function   : Duplicates current message base to a new one.
  7737.  
  7738.       ────────────────────────────────────────────────────────────────────
  7739.       Oblivion/2 v2.35 Bulletin Board System Documentation             133
  7740.       Section 22                                               MENU EDITOR
  7741.       ────────────────────────────────────────────────────────────────────
  7742.  
  7743.  
  7744.           Command Key: SE
  7745.           CString    : None
  7746.           Function   : Edits the current message base.
  7747.  
  7748.           Command Key: SK
  7749.           CString    : None
  7750.           Function   : Deletes the current message base.
  7751.  
  7752.           Command Key: SM
  7753.           CString    : None
  7754.           Function   : Creates a message base.
  7755.  
  7756.           Command Key: SP
  7757.           CString    : None
  7758.           Function   : Packs the message bases.  This is a useful command
  7759.                        to run every once in a while to keep the message
  7760.                        bases smaller.
  7761.  
  7762.           Command Key: SR
  7763.           CString    : None
  7764.           Function   : Reorders the message bases.
  7765.  
  7766.           Command Key: SX
  7767.           CString    : None
  7768.           Function   : Moves a message from one base to another base.
  7769.  
  7770.           Command Key: S@
  7771.           CString    : None
  7772.           Function   : Toggles user access to all message bases.
  7773.  
  7774.  
  7775.  
  7776.       22.5.20: T? : File Sponsor Commands
  7777.  
  7778.  
  7779.       These menu commands are basically sysop commands for file base and
  7780.       file creation/manipulation.  Access should only be given to sysops,
  7781.       co-sysops, or file sponsors.
  7782.  
  7783.  
  7784.           Command Key: TA
  7785.           CString    : None
  7786.           Function   : Locally adds files to the file areas.
  7787.  
  7788.           Command Key: TC
  7789.           CString    : None
  7790.           Function   : Cleans up offline files.  Any files with a status
  7791.                        of offline (files that are listed but are not
  7792.                        physically present on the hard drive) will be
  7793.                        deleted from the file listings.
  7794.  
  7795.       ────────────────────────────────────────────────────────────────────
  7796.       Oblivion/2 v2.35 Bulletin Board System Documentation             134
  7797.       Section 22                                               MENU EDITOR
  7798.       ────────────────────────────────────────────────────────────────────
  7799.  
  7800.  
  7801.           Command Key: TD
  7802.           CString    : <FILENAME> or <#> or None
  7803.           Function   : Deletes files from the file listings, where the
  7804.                        beginning file is the filename or file number (of
  7805.                        file in current file area) specified in the
  7806.                        CString, or the system will prompt if the CString
  7807.                        is empty.
  7808.  
  7809.           Command Key: TE
  7810.           CString    : None
  7811.           Function   : Edits the current file area.
  7812.  
  7813.           Command Key: TF
  7814.           CString    : <FILENAME> or <#> or None
  7815.           Function   : Moves files from one file area to another, where
  7816.                        the beginning file is the filename or file number
  7817.                        (of file in current file area) specified in the
  7818.                        CString, or the system will prompt if the CString
  7819.                        is empty.
  7820.  
  7821.           Command Key: TH
  7822.           CString    : None
  7823.           Function   : Packs the file description file.  This is a good
  7824.                        command to run every once in a while as the
  7825.                        descriptions of deleted files remain in the
  7826.                        description file until it is packed.
  7827.  
  7828.           Command Key: TJ
  7829.           CString    : None
  7830.           Function   : If a file doesn't exist in the directory specified
  7831.                        by it's individual file record, this command will
  7832.                        change the file record directory to the directory
  7833.                        specified in the current base's configuration.
  7834.                        This command should be used when you want to move
  7835.                        an entire file area from one drive or directory to
  7836.                        another.  Instead of editing each file's directory
  7837.                        or manually moving all of the files inside
  7838.                        Oblivion/2, simply move all of the files from the
  7839.                        old directory to the new directory, change the file
  7840.                        area's directory (in it's configuration), and then
  7841.                        run this menu command, and all of the files will
  7842.                        have their paths updated to the new directory.
  7843.  
  7844.           Command Key: TK
  7845.           CString    : None
  7846.           Function   : Deletes the current file area.
  7847.  
  7848.           Command Key: TM
  7849.           CString    : None
  7850.           Function   : Makes a new file area.
  7851.  
  7852.       ────────────────────────────────────────────────────────────────────
  7853.       Oblivion/2 v2.35 Bulletin Board System Documentation             135
  7854.       Section 22                                               MENU EDITOR
  7855.       ────────────────────────────────────────────────────────────────────
  7856.  
  7857.  
  7858.           Command Key: TN
  7859.           CString    : None
  7860.           Function   : Duplicates current file area to a new one.
  7861.  
  7862.           Command Key: TP
  7863.           CString    : None
  7864.           Function   : Globally reassigns file points to the new value.
  7865.                        If, for example, the files in one file area were
  7866.                        worth 1 credit per 10k and you wanted to change it
  7867.                        to 2 credits per 10k, you could do it with this
  7868.                        command.
  7869.  
  7870.           Command Key: TR
  7871.           CString    : None
  7872.           Function   : Reorders the file areas.
  7873.  
  7874.           Command Key: TS
  7875.           CString    : None
  7876.           Function   : Sorts the files in the current file area according
  7877.                        to the area's configured sort method.
  7878.  
  7879.           Command Key: TT
  7880.           CString    : None
  7881.           Function   : Tags all files that are physically missing from the
  7882.                        directory specified in it's individual file record
  7883.                        as offline, and any files previously with an
  7884.                        offline status that have been returned to the hard
  7885.                        drive will be tagged as available.
  7886.  
  7887.           Command Key: TU
  7888.           CString    : None
  7889.           Function   : Globally uploads all files in directories specified
  7890.                        in the file area configuration that are not
  7891.                        currently in the file listing.  This is only for
  7892.                        local files.
  7893.  
  7894.           Command Key: TV
  7895.           CString    : None
  7896.           Function   : Validates new uploads that are not yet validated.
  7897.  
  7898.           Command Key: T@
  7899.           CString    : None
  7900.           Function   : Toggles user access to all file areas.
  7901.  
  7902.           Command Key: T+
  7903.           CString    : <#>
  7904.           Function   : Increases the user's file points by the value
  7905.                        specified in the CString.
  7906.  
  7907.           Command Key: T-
  7908.  
  7909.       ────────────────────────────────────────────────────────────────────
  7910.       Oblivion/2 v2.35 Bulletin Board System Documentation             136
  7911.       Section 22                                               MENU EDITOR
  7912.       ────────────────────────────────────────────────────────────────────
  7913.  
  7914.           CString    : <#>
  7915.           Function   : Decreases the user's file points by the value
  7916.                        specified in the CString.
  7917.  
  7918.           Command Key: T=
  7919.           CString    : <#>
  7920.           Function   : Sets the user's total file points to the value
  7921.                        specified in the CString.
  7922.  
  7923.  
  7924.  
  7925.       22.5.21: V? : Voting Commands
  7926.  
  7927.  
  7928.       These menu commands are used primarily in the voting menu to create,
  7929.       list, respond to, and otherwise manipulate voting questions.
  7930.  
  7931.  
  7932.           Command Key: VA
  7933.           CString    : None
  7934.           Function   : Adds a voting question.
  7935.  
  7936.           Command Key: VC
  7937.           CString    : None
  7938.           Function   : Checks for unanswered mandatory voting questions.
  7939.  
  7940.           Command Key: VD
  7941.           CString    : <#> or None
  7942.           Function   : Deletes the voting question specified in the
  7943.                        CString or the system will prompt if the CString is
  7944.                        empty.
  7945.  
  7946.           Command Key: VL
  7947.           CString    : None
  7948.           Function   : Lists all voting questions the user has access to.
  7949.  
  7950.           Command Key: VR
  7951.           CString    : <#> or None
  7952.           Function   : Answers the voting question specified in the
  7953.                        CString or the system will prompt if the CString is
  7954.                        empty.
  7955.  
  7956.           Command Key: VS
  7957.           CString    : <#> or None
  7958.           Function   : Shows the results of the voting question specified
  7959.                        in the CString or the system will prompt if the
  7960.                        CString is empty.
  7961.  
  7962.  
  7963.  
  7964.  
  7965.  
  7966.       ────────────────────────────────────────────────────────────────────
  7967.       Oblivion/2 v2.35 Bulletin Board System Documentation             137
  7968.       Section 23                                                FILE AREAS
  7969.       ────────────────────────────────────────────────────────────────────
  7970.  
  7971.                             Section 23: FILE AREAS
  7972.  
  7973.  
  7974.  
  7975.       23.1: File Area Editor
  7976.  
  7977.       The File Area Editor is where you would define your file areas for
  7978.       your BBS.  Remember, you can have 255 file areas per conference, and
  7979.       255 file conferences.  The File Area Editor looks similar to this:
  7980.  
  7981.       ╒══════════════════════════════════════════════════════════════════╕
  7982.       │ Command :           (Q)uit              Oblivion/2 Area Editor   │
  7983.       ╘══════════════════════════════════════════════════════════════════╛
  7984.       ╒══════════════════════════════════════════════════════════════════╕
  7985.       │ (A) Area Name      : User Uploads                                │
  7986.       │ (B) Access ACS     :                                             │
  7987.       │ (C) Upload ACS     :                                             │
  7988.       │ (D) Download ACS   :                                             │
  7989.       │ (E) List ACS       :                                             │
  7990.       │ (F) Sponsor        : Lasher                                      │
  7991.       │ (G) Password       :                                             │
  7992.       │ (H) Area File Name : uploads                                     │
  7993.       │ (I) Path           : c:\uploads\                                 │
  7994.       │ (J) Default Sort   : F                                           │
  7995.       │ (K) File Area Mult : 1                                           │
  7996.       │ (L) Free Area      : No                                          │
  7997.       │ (M) Copy Files     : No                                          │
  7998.       │ [,] Previous/Next Area                                           │
  7999.       ╘══════════════════════════════════════════════════════════════════╛
  8000.  
  8001.           Option A is the name of the current file area.
  8002.  
  8003.           Option B is the access needed to be able to join the file area.
  8004.           If a user does not have this access, they will not even be able
  8005.           to select this area.
  8006.  
  8007.           Option C is the access needed to upload to this area.
  8008.  
  8009.           Option D is the access needed to download files from this area.
  8010.  
  8011.           Option E is the access needed to list files in this area.
  8012.  
  8013.           Option F is the file area sponsor.  This would be like the
  8014.           "sysop" of the file area.  The person defined here has sysop
  8015.           access for the current area alone.
  8016.  
  8017.           Option G is the password needed to access the file area.  If the
  8018.           user does not know the password, they will be denied access.
  8019.  
  8020.           Option H is the filename for the area.  The filename is where
  8021.           all the file information will be stored, so it should be unique
  8022.  
  8023.       ────────────────────────────────────────────────────────────────────
  8024.       Oblivion/2 v2.35 Bulletin Board System Documentation             138
  8025.       Section 23                                                FILE AREAS
  8026.       ────────────────────────────────────────────────────────────────────
  8027.  
  8028.           for each area.  The filename must not have an extension.
  8029.  
  8030.           Option I is the path to the files for this file area.
  8031.  
  8032.           Option J is the default sort method for this area where
  8033.  
  8034.               F   Filename
  8035.               E   Extension
  8036.  
  8037.           Option K is the file area multiplier for file points for this
  8038.           area.  You may assign different file point "values" for each
  8039.           file area.  They follow the defaults specified in the system
  8040.           configuration (see Section 3.8).  This way, you can make files
  8041.           cost more in one area than in another.  If you set the value
  8042.           here to 2, for example, files will cost twice as much as the
  8043.           default (a file point multiplier of 2).  If you want the area to
  8044.           have the default values as specified in the system
  8045.           configuration, leave this value at 1.
  8046.  
  8047.           Option L defines if this file area is free or not.  If Yes, all
  8048.           files will have a credit and ratio cost of 0 and will not charge
  8049.           the user for downloading.  If No, the user will be charged
  8050.           credit and ratio for downloading from this area.
  8051.  
  8052.           Option M determines whether the files from this area will be
  8053.           copied to the work directory before being downloaded, and if
  8054.           they will be sent to the work directory before being copied to
  8055.           the proper directory upon upload.  This is primarily for CD-ROM
  8056.           bases and should be used in multinode operations.
  8057.  
  8058.  
  8059.  
  8060.       23.2: File Listing Prompt Commands
  8061.  
  8062.       The file listing prompt has numerous commands that should be pointed
  8063.       out to you.  Below is a capture of all the commands available at the
  8064.       file listing prompt:
  8065.  
  8066.       [UP]   Move Up File Bar
  8067.       [DOWN] Move Down File Bar
  8068.       [CR]   Next Screen
  8069.       [B]    Go Back a Page
  8070.       [+]    Tag Current File
  8071.       [-]    UnTag Current File
  8072.       [A]    Add Tagged Files to Batch
  8073.       [T]    Type Tagged Files
  8074.       [V]    View Tagged Files
  8075.       [I]    Info on Tagged Files
  8076.       [J]    Quit Current Area
  8077.       [?]    Listing Help
  8078.       [Q]    Quit Listing
  8079.  
  8080.       ────────────────────────────────────────────────────────────────────
  8081.       Oblivion/2 v2.35 Bulletin Board System Documentation             139
  8082.       Section 23                                                FILE AREAS
  8083.       ────────────────────────────────────────────────────────────────────
  8084.  
  8085.  
  8086.           UP   - moves the highlight bar one file up (by use of the up
  8087.                  arrow key).
  8088.           DOWN - moves the highlight bar one file down (by use of the down
  8089.                  arrow key).
  8090.           CR   - Displays the next screen of files in the current file
  8091.                  area.
  8092.           B    - Goes to the previous screen of files in the current file
  8093.                  area.
  8094.           +    - Tags the file.
  8095.           -    - Untags the file.
  8096.           A    - Adds all of the tagged files from this screen to the
  8097.                  user's batch queue.
  8098.           T    - Types the tagged file (only if it is a textfile).
  8099.           V    - Views the tagged file.  This will show an archive listing
  8100.                  of the contents of the tagged archive.
  8101.           I    - Shows information on the current file (using the
  8102.                  FILEINFO.ANS).
  8103.           J    - Quits current file area and will proceed to the next one
  8104.                  if used in global newscans.
  8105.           ?    - Displays the internal file help (the above capture) or
  8106.                  the file FILEHELP.ANS if the option is turned ON in Look
  8107.                  and Feel in the System Configuration (see Section 3.4).
  8108.           Q    - Quits file listing, both for single listings and global
  8109.                  newscans.
  8110.  
  8111.  
  8112.  
  8113.       23.3: The File Catalog
  8114.  
  8115.       The file catalog is an indexing system that Oblivion/2 uses.  The
  8116.       file is called CATALOG. and it is stored in your data directory.
  8117.       This file contains all of the filenames of the files on your system.
  8118.       It can be used for numerous things, like quick file searches,
  8119.       duplicate searches, etc.
  8120.  
  8121.       In order to initialize the file catalog, you have to use the TG menu
  8122.       command.  This will, initially, create the file catalog, and
  8123.       everytime afterwards that the TG command is issued, it will update
  8124.       it.
  8125.  
  8126.       You will need to modify some fields in the System Configuration,
  8127.       primarily System Information 2 (see Section 3.2).  The Use File
  8128.       Catalog option must be set to Yes.  This will enable Oblivion/2 to
  8129.       use the catalog to check for duplicate files.  The File Catalog Look
  8130.       Up function should also be set to Yes, as this will allow Oblivion/2
  8131.       to use the catalog for different lookup functions (ie. to see if a
  8132.       file exists when a user enters a filename to add to their batch,
  8133.       thus not requiring the user to be in the actual file area that
  8134.       contains the file).
  8135.  
  8136.  
  8137.       ────────────────────────────────────────────────────────────────────
  8138.       Oblivion/2 v2.35 Bulletin Board System Documentation             140
  8139.       Section 23                                                FILE AREAS
  8140.       ────────────────────────────────────────────────────────────────────
  8141.  
  8142.       The file catalog is a handy little system to use, but you don't have
  8143.       to use it.  It will slow things down a little bit when searching for
  8144.       files upon upload, but it also allows for some added features (like
  8145.       the search feature explained above).  It is in my opinion that every
  8146.       sysop should use it, but again, it is personal preference and taste.
  8147.  
  8148.       You should update your file catalog regularly to keep it accurate as
  8149.       a system with heavy traffic where new files are uploaded daily will
  8150.       have a quickly out-dated catalog.  Running the TG command once a day
  8151.       manually or as an event is a good idea if you use the file catalog.
  8152.  
  8153.  
  8154.  
  8155.  
  8156.  
  8157.  
  8158.  
  8159.  
  8160.  
  8161.  
  8162.  
  8163.  
  8164.  
  8165.  
  8166.  
  8167.  
  8168.  
  8169.  
  8170.  
  8171.  
  8172.  
  8173.  
  8174.  
  8175.  
  8176.  
  8177.  
  8178.  
  8179.  
  8180.  
  8181.  
  8182.  
  8183.  
  8184.  
  8185.  
  8186.  
  8187.  
  8188.  
  8189.  
  8190.  
  8191.  
  8192.  
  8193.  
  8194.       ────────────────────────────────────────────────────────────────────
  8195.       Oblivion/2 v2.35 Bulletin Board System Documentation             141
  8196.       Section 24                                        THE UPLOAD CHECKER
  8197.       ────────────────────────────────────────────────────────────────────
  8198.  
  8199.                         Section 24: THE UPLOAD CHECKER
  8200.  
  8201.  
  8202.       The upload checker is an integrated file testing system that
  8203.       eliminates the need for clumsy third-party upload checkers.  The
  8204.       internal upload checker will perform the following on all new
  8205.       uploads:
  8206.  
  8207.           Check for CRC errors in the archive
  8208.           Virus scanning
  8209.           Check for definable age constraints
  8210.           Add definable files to archives
  8211.           Delete definable files from archives
  8212.           Comment-stamp archives
  8213.           Perform any other sysop-defined maintenance on archives
  8214.  
  8215.       As you can see, it is a very powerful system.  But it is also very
  8216.       simple to use.  It requires two things:  A custom ansi screen and
  8217.       the above options defined in the System Configuration (see Section
  8218.       3.2 for information on the configuration).  The custom screen, which
  8219.       is called ULCHECK.ANS will be displayed to the user when their
  8220.       upload is being processed.  Creating this screen is simple, and
  8221.       there are a few MCI codes that can be used when creating it.
  8222.  
  8223.           |FN     Name of the file being tested
  8224.           |B1     Position of blinking ■ in CRC checking
  8225.           |M1     String displayed during CRC checking (string number xxx)
  8226.           |B2     Position of blinking ■ in virus scanning
  8227.           |M2     String displayed during virus scanning (string number
  8228.                   xxx)
  8229.           |B3     Position of blinking ■ in age testing
  8230.           |M3     String displayed during age testing (string number xxx)
  8231.           |B4     Position of blinking ■ in file deletion
  8232.           |M4     String displayed during file deletion (string number
  8233.                   xxx)
  8234.           |B5     Position of blinking ■ in file addition
  8235.           |M5     String displayed during file addition (string number
  8236.                   xxx)
  8237.           |B6     Position of blinking ■ in archive commenting
  8238.           |M6     String displayed during archive commenting (string
  8239.                   number xxx)
  8240.           |B7     Position of blinking ■ in additional file maintenance
  8241.           |M7     String displayed during additional file maintenance
  8242.                   (string number xxx)
  8243.  
  8244.       Each of the above aspects of the file checking displays a blinking
  8245.       ■, which is shown using the |Bx MCI code.  When the operation is in
  8246.       use, the ■ will blink, when it has been completed, the ■ stops
  8247.       blinking, and the next one will begin to blink.  The uploads are
  8248.       checked in the above order, so each consecutive number in the MCI
  8249.       codes relates to the order in which the maintenance is run.  If one
  8250.  
  8251.       ────────────────────────────────────────────────────────────────────
  8252.       Oblivion/2 v2.35 Bulletin Board System Documentation             142
  8253.       Section 24                                        THE UPLOAD CHECKER
  8254.       ────────────────────────────────────────────────────────────────────
  8255.  
  8256.       or more of the options are disabled, nothing is shown.
  8257.  
  8258.       All of the commands for the upload checker are defined in System
  8259.       Configuration 2, where each has it's own field (see Section 3.2).
  8260.       If you do not want to perform a certain operation (for example,
  8261.       adding files) leave that field in the config blank and the checker
  8262.       will skip it.
  8263.  
  8264.       The one aspect of the internal upload checker that makes it superior
  8265.       to other upload checkers is the age constraint.  With it, you can
  8266.       pass or fail uploads depending on it's date.  The checker will look
  8267.       at the date of the NEWEST file in the archive and compare it to the
  8268.       defined allowable age.  If the file is older, the file fails the age
  8269.       test, if it is of the same age or newer, the file is passed.  This
  8270.       can keep your system from receiving outdated files.  The age
  8271.       constraint can have a value of 0 through 5000 days, where 0 will
  8272.       disable the age test and 5000 days is 13 years and 255 days (not
  8273.       including leap years).
  8274.  
  8275.       Another aspect of the internal upload checker that makes it unique
  8276.       is it's ability to perform additional sysop-defined maintenance on
  8277.       any archive or file uploaded.  This maintenance is defined in a file
  8278.       called MAINTAIN.BAT which you can use for any number of things.  You
  8279.       can convert archives, set file dates to the current date, etc.  The
  8280.       only thing you are limited by is your imagination and the batch
  8281.       language of your operating system.  The following two percent codes
  8282.       can be used in your MAINTAIN.BAT file:
  8283.  
  8284.           %1      filename
  8285.           %2      path of the work directory
  8286.  
  8287.       The %2 code also includes the trailing backslash so do not place a
  8288.       %2\ in your batchfile.
  8289.  
  8290.       Oblivion/2 allows for file descriptions of a maximum of 24 lines.
  8291.       FILE_ID.DIZ files are imported automatically by the upload checker.
  8292.       If, however, you want to import something different into the file
  8293.       description field, you can use MAINTAIN.BAT to accomplish this.
  8294.       Oblivion/2 will extract a FILE_ID.DIZ file to one called IMPORT.DES
  8295.       in your work directory, and read IMPORT.DES for the description to
  8296.       import.  With this, you can extract any filename you wish, copy it
  8297.       to IMPORT.DES, and have Oblivion/2 import it.  Be careful with the
  8298.       filename you use, however, as having Oblivion/2 import a binary file
  8299.       could cause things to look a little ugly.
  8300.  
  8301.  
  8302.  
  8303.  
  8304.  
  8305.  
  8306.  
  8307.  
  8308.       ────────────────────────────────────────────────────────────────────
  8309.       Oblivion/2 v2.35 Bulletin Board System Documentation             143
  8310.       Section 25                                             MESSAGE BASES
  8311.       ────────────────────────────────────────────────────────────────────
  8312.  
  8313.                           Section 25: MESSAGE BASES
  8314.  
  8315.  
  8316.  
  8317.       25.1: Message Base Editor
  8318.  
  8319.  
  8320.       [this section will be completed in Oblivion/2 2.40]
  8321.  
  8322.  
  8323.       25.2: Using the JAM Message Base
  8324.  
  8325.  
  8326.       New with Oblivion/2 v2.40 is the JAM base support.  Previous
  8327.       versions of Oblivion/2 used the old Fido/*.MSG system, which,
  8328.       although a very workable and configurable system, left a lot to be
  8329.       desired in terms of speed and space.  The JAM system is much faster,
  8330.       much smaller, and still very usable.
  8331.  
  8332.       However, many sysops used to the old Fido/*.MSG system may find JAM
  8333.       a little confusing, so I will try to explain a little bit about JAM
  8334.       and it's uses here.
  8335.  
  8336.       JAM was originally designed in 1993 by Joaquim Homrighausen, Andrew
  8337.       Milner, Mats Birch, and Mats Wallin.  The API for JAM is freely
  8338.       available in a file called JAMAPI.* (ZIP, RAR, etc.).  This is the
  8339.       same system that Oblivion/2 is now using.
  8340.  
  8341.       Many different Mail Tossers interface with JAM.  In fact, most of
  8342.       them do.  I am currently using FastEcho to toss and scan my message
  8343.       bases, and as such, I am going to use FastEcho as the main example
  8344.       for this section.  However, most, if not all, of what FastEcho can
  8345.       do, other mail tossers (like GEcho, Squish, etc.) can do as well.
  8346.  
  8347.       First, a little bit about the technical JAM stuff.  A single JAM
  8348.       message base consists of four files:
  8349.  
  8350.           *.JDT - Message text data
  8351.           *.JDX - Message index
  8352.           *.JHR - Message header data
  8353.           *.JLR - Lastread information
  8354.  
  8355.       The JAM system is fast for one reason.  Whenever you or a user posts
  8356.       a message in a JAM base, depending on what kind of message base it
  8357.       is (echomail or netmail, local bases have no bearing here), a file
  8358.       will be written containing the name of the base and the number of
  8359.       the newly written message in that base.  If it's echomail, the file
  8360.       will be called ECHOMAIL.JAM, and if netmail, NETMAIL.JAM.  This
  8361.       tells your mail processor which areas to scan.  In this way, your
  8362.       tosser will scan ONLY the bases that have a message to export.  This
  8363.       makes the system VERY fast.  With the old Fido/*.MSG system, when
  8364.  
  8365.       ────────────────────────────────────────────────────────────────────
  8366.       Oblivion/2 v2.35 Bulletin Board System Documentation             144
  8367.       Section 25                                             MESSAGE BASES
  8368.       ────────────────────────────────────────────────────────────────────
  8369.  
  8370.       mail needed to be exported, OBVMAIL.EXE would have to toss messages
  8371.       from the message base into directories, and then your mail tosser
  8372.       would have to scan all of the directories, checking pointer data,
  8373.       and then package up the *.MSG files that needed to go out.  In
  8374.       essence, JAM takes these two steps and combines them into half a
  8375.       step.  On my system, with well over 200 message areas, it would take
  8376.       approximately five minutes to package outbound mail, even if it was
  8377.       only one small message.  This is because OBVMAIL had to check each
  8378.       message base to see if messages needed to be exported, export those
  8379.       messages to a file in a directory, and then FastEcho would have to
  8380.       scan every directory (over 200) and package the messages that needed
  8381.       to go out.  With JAM, the mail tosser will scan the bases specified
  8382.       in ECHOMAIL.JAM and immediately package them.  No need for hundreds
  8383.       of directories, no need for an intermediate mail tosser.  One mail
  8384.       tosser, one single process.
  8385.  
  8386.       Sounds nice doesn't it?  Well, it is.  But there are a few things
  8387.       that should be noted, and for those of you experienced with JAM, you
  8388.       can skip this.  For those of you unaccustomed to JAM, or used to the
  8389.       Fido/*.MSG style of messaging, read on.
  8390.  
  8391.       As I stated before, my system had over 200 message areas.  All of
  8392.       these were stored in one directory.  With JAM, you can specify any
  8393.       directory you like where to put the bases.  I would suggest,
  8394.       however, that you pay careful attention to where you place your JAM
  8395.       bases, and how many you place in one directory.  Remember, each JAM
  8396.       base consists of four files.  I would advise not putting in more
  8397.       than 20 bases in a directory.  This is because of DOS's 100 file per
  8398.       directory limitation.  It's not really a limitation, but when you go
  8399.       over 100 files in a directory, it really slows things down when
  8400.       those files are being accessed.  Try calling a DIR command in a
  8401.       directory that contains 500 files as opposed to one containing 99
  8402.       files.  Which one takes longer to begin displaying the files?  The
  8403.       500 files directory.  So make sure that you don't place more than 20
  8404.       JAM bases in any one directory for optimum speed from your machine.
  8405.  
  8406.       Another nice thing about JAM is the fact that it is such a standard.
  8407.       Previously, the *.MSG files were tossed into a file that was
  8408.       specific to Oblivion/2, thus cutting down on the use of third-party
  8409.       utilities to manage your message bases.  With JAM, you can use any
  8410.       third-party utility that supports JAM that you like.  This is useful
  8411.       for maintenance on your JAM bases.
  8412.  
  8413.       Let's take a look at your mail tosser.  Most mail tossers have a
  8414.       "sister" maintenance program.  In FastEcho's case, it is a program
  8415.       called FEUtil.  I use FEUtil to manage my JAM bases.  There are
  8416.       quite a few different ways of purging your JAM bases.  The following
  8417.       is an excerpt from the FESETUP.EXE program, in regards to FEUtil's
  8418.       parameters:
  8419.  
  8420.  
  8421.  
  8422.       ────────────────────────────────────────────────────────────────────
  8423.       Oblivion/2 v2.35 Bulletin Board System Documentation             145
  8424.       Section 25                                             MESSAGE BASES
  8425.       ────────────────────────────────────────────────────────────────────
  8426.  
  8427.           FESetup   System   Data   Export   Import
  8428.       ░░░░░░░░░░░░░┌────────────────────────┐░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8429.       ░░░░░░░░░░░░░│ Network addresses      │░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8430.       ░░░░░░░░░░░░░│ User names             │░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8431.       ░░░░░░░░░░░░░│ Miscellaneous          │░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8432.       ░░░░░░░░░░░░░│ Pathnames              │░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8433.       ░░░░░░░░░░░░░│ Filenames              │░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8434.       ░░░░░░░░░░░░░│ Parameters             │░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8435.       ░░░░░░░░░░░░░│ Advanced options       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8436.       ░░░░░░░░░░░░░│┌───── FEUTIL parameters ────┐░░░░░░░░░░░░░░░░░░░░░░░
  8437.       ░░░░░░░░░░░░░││ PURGE - Messages       150 │░░░░░░░░░░░░░░░░░░░░░░░
  8438.       ░░░░░░░░░░░░░││         Days            14 │p 1.45a ░░░░░░░░░░░░░░░
  8439.       ░░░░░░░░░░░░░││         Rcvd Days       14 │░░░░░░░░░░░░░░░░░░░░░░░
  8440.       ░░░░ Copyrigh││ Use arrival date       Yes │urchhardt. All rights r
  8441.       ░░░░░░░░░░░░░││ Autorenumber at          0 │░░░░░░░░░░░░░░░░░░░░░░░
  8442.       ░░░░░░░░░░░░░││ Exclude Users          Yes │░░░░░░░░░░░░░░░░░░░░░░░
  8443.       ░░░░░░░░░░░░░└│ Exclude SysOps         Yes │░░░░░░░░░░░░░░░░░░░░░░░
  8444.       ░░░░░░░░░░░░░░│ Include USERS.BBS      Yes │░░░░░░░░░░░░░░░░░░░░░░░
  8445.       ░░░░░░░░░░░░░░│ Keep imported NetMail   No │░░░░░░░░░░░░░░░░░░░░░░░
  8446.       ░░░░░░░░░░░░░░│ Kill grunged date       No │░░░░░░░░░░░░░░░░░░░░░░░
  8447.       ░░░░░░░░░░░░░░└────────────────────────────┘░░░░░░░░░░░░░░░░░░░░░░░
  8448.       ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  8449.  
  8450.       As you can see above, you can purge the message bases accoriding to
  8451.       the amount of messages, the amount of days old, or the amount of
  8452.       days received.  In the above FastEcho setup, messages in the JAM
  8453.       bases would be deleted after 150 messages, OR if they were 14 days
  8454.       old OR if they had been read by the recipient of the message 14 days
  8455.       ago.  In this manner, if mail took a long time to reach you and was
  8456.       already 20 days old when it reached your system, it wouldn't be
  8457.       deleted for 14 days after you read it, or until it was pushed out by
  8458.       the maximum message limit, allowing you and your users time to read
  8459.       it.
  8460.  
  8461.       Of course, you might be asking yourself the question right now, What
  8462.       about local message bases?  You can use your mail tosser, in most
  8463.       cases, to maintain your local JAM bases as well.  Define your local
  8464.       bases in your mail tosser's Area Manager in the same way as an
  8465.       echomail or netmail message area, except the "type" of message base
  8466.       will be Local, as opposed to Echomail, Netmail, Badmail, etc.  This
  8467.       will tell your mail tosser that the messages in this JAM base are
  8468.       not to be exported, nor are messages to be imported to them.  You
  8469.       will need to define a few things, like area tag and a group, same as
  8470.       any echomail area.  Your best bet would be to make a Local Group
  8471.       that you use only for local areas, and when defining the area tag,
  8472.       make it something unique to your BBS so that you don't accidentally
  8473.       choose a name that might be in use in an echomail network.  For
  8474.       example, for my BBS, Stronghold Enterprises, I might use SH_CHAT or
  8475.       SE_CHAT or something similar for my local Chat base.  Remember not
  8476.       to define any connections or links to this area as this area will
  8477.       not be exported.  And it would be best to also make the group hidden
  8478.  
  8479.       ────────────────────────────────────────────────────────────────────
  8480.       Oblivion/2 v2.35 Bulletin Board System Documentation             146
  8481.       Section 25                                             MESSAGE BASES
  8482.       ────────────────────────────────────────────────────────────────────
  8483.  
  8484.       or given a security level so that if any of your downlinks send a
  8485.       %LIST meta-command to your AreaFix processor (%LIST tells AreaMgr to
  8486.       send a list of available areas to the sender), they won't see your
  8487.       local echos.
  8488.  
  8489.       JAM is a very easy system to get accustomed to, and once you do, you
  8490.       won't want to go back to anything else.  Out of all the message
  8491.       formats that are standards, JAM is by far one of the most superior.
  8492.       With the variety of third-party utilities available for managing
  8493.       your JAM bases, you'll be sure to find something that suits your
  8494.       needs and something that you like.
  8495.  
  8496.  
  8497.  
  8498.       25.3: Message Reading Prompt Commands
  8499.  
  8500.  
  8501.       The message reading prompt has several commands that should be
  8502.       pointed out to you.  Below is a capture of all commands available
  8503.       at thethe message reading prompt:
  8504.  
  8505.       [A] Read Again               [S] Backward Title Scan
  8506.       [T] Forward Title Scan       [B] Backwards Thread
  8507.       [F] Moving For. T Scan       [X] Moving Back. T Scan
  8508.       [#] Goto Message #           [CR,N] Next Message
  8509.       [D] Delete Message           [E] Edit Message
  8510.       [P] Post Message             [C] Remove
  8511.       [R] Reply to Message         [H] Go to Highest Message
  8512.       [U] Edit Sender              [V] Edit Receiver
  8513.       [G] Store Thread             [I] Store Replies
  8514.       [M] Store Message            [L] Set Last Read to Current
  8515.       [J] Jump to next base        [W] Private Reply
  8516.       [Z] Move Message             [Q] Quit
  8517.  
  8518.           A  - Displays the current message again.
  8519.           T  - Lists the next 23 messages, displaying their title, author,
  8520.                and receiver.
  8521.           F  - Moves you to highest message shown with the T command.
  8522.           #  - Goes to message number #.  A user could type in the number
  8523.                203 and it will take them to message number 203.
  8524.           D  - Deletes the current message or restores the current
  8525.                message if it is already deleted.  Only available to sysops
  8526.                and the authors of the current message.
  8527.           P  - Posts a new message.
  8528.           R  - Replies to the current message.
  8529.           U  - Edits the account of the sender of the message.  Only
  8530.                available to sysops.
  8531.           G  - Stores entire message thread for user download.
  8532.           M  - Archives the current message for the user to download
  8533.                later.
  8534.           J  - Quits the current base and goes to the next base, only
  8535.  
  8536.       ────────────────────────────────────────────────────────────────────
  8537.       Oblivion/2 v2.35 Bulletin Board System Documentation             147
  8538.       Section 25                                             MESSAGE BASES
  8539.       ────────────────────────────────────────────────────────────────────
  8540.  
  8541.                available in global newscans.
  8542.           Z  - Moves current message to another message base in any
  8543.                conference and deletes the original.  Only available to
  8544.                sysops.
  8545.           S  - Lists the previous 23 messages, displaying their title,
  8546.                author, and receiver.
  8547.           B  - Follows the current reply thread backwards to the first
  8548.                message in the base with with this topic.
  8549.           X  - Moves to lowest message shown with the S command.
  8550.           CR - Goes to the next consecutive message in the current base.
  8551.           N  - Goes to the next consecutive message in the current base.
  8552.           E  - Edits the current message.  Only available to sysops and
  8553.                the author of the message.
  8554.           C  - Removes the current message.
  8555.           H  - Goes to the highest message in the current message base.
  8556.           V  - Edits the account of the receiver of the message.  Only
  8557.                available to sysops.
  8558.           I  - Archives the current message and any further replies for
  8559.                the user to download (like a memorize command).
  8560.           L  - Updates the lastread pointers to the current message.
  8561.           W  - Replies to the current message in email.  Can only be used
  8562.                if the author of the message is a member of the system.
  8563.           Q  - Quits reading, both for single message area reading and
  8564.                global newscans.
  8565.  
  8566.       The G and I commands can cause some systems to lock up.  If you or
  8567.       your users experience such lockups, disable the use of G and I
  8568.       message reading commands in the Configuration (see Section 3.2).
  8569.  
  8570.  
  8571.  
  8572.  
  8573.  
  8574.  
  8575.  
  8576.  
  8577.  
  8578.  
  8579.  
  8580.  
  8581.  
  8582.  
  8583.  
  8584.  
  8585.  
  8586.  
  8587.  
  8588.  
  8589.  
  8590.  
  8591.  
  8592.  
  8593.       ────────────────────────────────────────────────────────────────────
  8594.       Oblivion/2 v2.35 Bulletin Board System Documentation             148
  8595.       Section 26                                   MESSAGE EDITOR COMMANDS
  8596.       ────────────────────────────────────────────────────────────────────
  8597.  
  8598.                      Section 26: MESSAGE EDITOR COMMANDS
  8599.  
  8600.  
  8601.       The FSE (FullScreen Editor) has many different commands that you can
  8602.       use while you are in it.  These commands are:
  8603.  
  8604.       Menu Commands
  8605.  
  8606.           /A          Abort message
  8607.           /C          Continue message
  8608.           /Q          Quote from previous message
  8609.           /S          Save message
  8610.           /U          Import into message
  8611.           /?          Help (displays LINEMENU.ANS)
  8612.           ^KA         Abort message
  8613.           ^KS         Save message
  8614.  
  8615.       Control Commands
  8616.  
  8617.           Home        Beginning of line
  8618.           End         End of line
  8619.           ^S/Left     Move left
  8620.           ^D/Right    Move right
  8621.           ^A          Word left
  8622.           ^F          Word right
  8623.           ^G/DEL      Delete
  8624.           BackSpace   BackSpace
  8625.           ^Y          Delete line
  8626.           ^N          Insert line
  8627.           ^V          Toggle insert
  8628.           ^QY         Truncate line
  8629.           ^B          Reformat paragraph
  8630.  
  8631.       Info Commands
  8632.  
  8633.           ^O          Toggle anonymous
  8634.           ^U          Toggle autosig
  8635.           ^T          Change title
  8636.  
  8637.  
  8638.  
  8639.  
  8640.  
  8641.  
  8642.  
  8643.  
  8644.  
  8645.  
  8646.  
  8647.  
  8648.  
  8649.  
  8650.       ────────────────────────────────────────────────────────────────────
  8651.       Oblivion/2 v2.35 Bulletin Board System Documentation             149
  8652.       Section 27                                MAKING REPEAT ANSI SCREENS
  8653.       ────────────────────────────────────────────────────────────────────
  8654.  
  8655.                     Section 27: MAKING REPEAT ANSI SCREENS
  8656.  
  8657.  
  8658.       In an effort to make Oblivion/2 more configurable, and at the same
  8659.       time, easy to use, the "repeat method" of ansi display was
  8660.       developed.  These screens are used all around the BBS, and include
  8661.       such things as message base/file area listings, oneliners, rumors,
  8662.       last caller listings, data area listings, and more.  Because they
  8663.       are relied upon so heavily, it is important that you understand how
  8664.       to create your own.
  8665.  
  8666.       In the repeat method, there are three screens for any type of
  8667.       listing.  The first is the header, or "introduction", the second is
  8668.       the actual repeating ansi that contains the data you want displayed,
  8669.       and the third is the ending, or footer.
  8670.  
  8671.       For example, to make a message base listing that looked similar to
  8672.       this:
  8673.  
  8674.       Base    Description                         Network
  8675.       ─────────────────────────────────────────────────────
  8676.       1       General Discussion                  ImpactNet
  8677.       2       BBS Advertisements                  ImpactNet
  8678.       ─────────────────────────────────────────────────────
  8679.  
  8680.       you would have to create three ansis called SUBSSRT.ANS (the header
  8681.       of the subs listing), SUBSMID.ANS (the repeating ansi which can use
  8682.       various MCI codes), and SUBSEND.ANS (the footer).
  8683.  
  8684.       Below is what the ansis would look like (devoid of ansi codes):
  8685.  
  8686.       SUBSSRT.ANS:
  8687.       Base    Description                         Network
  8688.       ─────────────────────────────────────────────────────
  8689.  
  8690.       SUBSMID.ANS:
  8691.       |AN     |BN                                 |NN
  8692.  
  8693.       SUBSEND.ANS:
  8694.       ─────────────────────────────────────────────────────
  8695.  
  8696.       As you can see, the repeat method of ansi display is one of the more
  8697.       powerful aspects of Oblivion/2.  However, due to several bugs and
  8698.       incompatibilities in TheDraw you will need to make some manual
  8699.       changes to the middle part of the ansi (*MID.ANS) before they will
  8700.       display properly.
  8701.  
  8702.       It should be noted, however, that although Oblivion/2 is primarily a
  8703.       text-based BBS system, it does not rely on the ANSI.SYS device
  8704.       driver to display ansi on the local end.  Oblivion/2 has it's own
  8705.       ansi driver, which makes ansi display faster and more reliable than
  8706.  
  8707.       ────────────────────────────────────────────────────────────────────
  8708.       Oblivion/2 v2.35 Bulletin Board System Documentation             150
  8709.       Section 27                                MAKING REPEAT ANSI SCREENS
  8710.       ────────────────────────────────────────────────────────────────────
  8711.  
  8712.       conventional ansi drivers.  Oblivion/2's ansi driver is NOT subject
  8713.       to ansi bombs or ansi redirection as it is it's own independant ansi
  8714.       system.  Your users, however, must load an ANSI driver in order for
  8715.       ansi to be displayed to them.
  8716.  
  8717.       To make your repeat ansi, first load TheDraw and draw your ansi.
  8718.       When done, animate your ansi using the TOP rescan method (ALT-J, T).
  8719.       Other scanning methods may work, but this is standard.  Insert the
  8720.       appropriate MCI codes and save the ansi.
  8721.  
  8722.       Exit TheDraw and you can, optionally, run ANSITRAN.EXE on the ansi.
  8723.       AnsiTran is a utility that will clean the ansi of unwanted escape
  8724.       characters to make the ansi smaller and display faster, and also
  8725.       makes it consistent with Oblivion/2's ansi displaying routines.
  8726.       AnsiTran does not always do an excellent job of cleaning up ansis,
  8727.       but since you are going to be hand-editing the ansi anyways, those
  8728.       few instances where AnsiTran does not perform adequately, you should
  8729.       be able to notice and fix it yourself manually.
  8730.  
  8731.       To edit the ansi manually, load up QEdit or any other ASCII based
  8732.       text editor.  You will have to scan the ansi for some specific
  8733.       codes, namely esc[yy;xxH.  This code tells ANSI.SYS where to place
  8734.       the next pieces of text on the screen (with x and y coordinates).
  8735.       However, ANSI.SYS (and thus, TheDraw) do not support going to the
  8736.       xxth column of the current row, which is what is needed for
  8737.       Oblivion/2 to display the repeat ansis correctly.  According to the
  8738.       ANSI 3.64-1979 standard, esc[;xxH should go to the xxth column of
  8739.       the first row, which is not what we want.  Oblivion/2, however, will
  8740.       interpret the esc[;xxH code differently, and will take it to read
  8741.       the xxth column of the current row, thus making repeat ansis
  8742.       possible.  All you need to do is edit the esc[yy;xxH code and make
  8743.       it an esc[;xxH code.
  8744.  
  8745.       Having done this, your repeat ansi is ready for use.  It may take a
  8746.       while to become familiar with the ansi codes (see Section 29 for a
  8747.       complete break-down of all the ansi escape sequence codes), but
  8748.       after a while you will learn them and this procedure will become
  8749.       routine.  You may even prefer to do all of your MCI code placements
  8750.       for all ansis this way.
  8751.  
  8752.       An example of a middle repeat ansi, created for the oneliners,
  8753.       follows.  This example repeat ansi would look like this:
  8754.  
  8755.       φ Here goes your oneliners...                         Column 79 -> φ
  8756.  
  8757.       This is how TheDraw would save the animated middle ansi:
  8758.  
  8759.       [255D [0B [255D [0;1;30mφ [77Cφ [2C [1A [0;32m|ON |0m
  8760.  
  8761.       We would remove the esc[255D commands, as they move the cursor 255
  8762.       columns to the left.  Then we have a esc[0B, but since this moves
  8763.  
  8764.       ────────────────────────────────────────────────────────────────────
  8765.       Oblivion/2 v2.35 Bulletin Board System Documentation             151
  8766.       Section 27                                MAKING REPEAT ANSI SCREENS
  8767.       ────────────────────────────────────────────────────────────────────
  8768.  
  8769.       the cursor 0 rows down, we don't need it, so we can remove that as
  8770.       well.  The esc[77C command moves the cursor to the right 77 columns
  8771.       to get to column 79 (after the φ character and a space are
  8772.       displayed).  We could also do this using a esc[;79H command, which
  8773.       would be faster and more efficient, as it would move the cursor to a
  8774.       FIXED position at column 79 and not move the cursor 77 spaces over
  8775.       (which sometimes can prove inaccurate).  Then we also notices an
  8776.       esc[2C which moves the cursor two spaces over, causing it to wrap to
  8777.       the next line to column 3.  Then we see a esc[1A which moves the
  8778.       cursor up one row to put |ON after the space that follows the φ
  8779.       character.  All of this is inefficient, slow, and sloppy.  Using
  8780.       some simple command changes, we can make the above piece of ansi
  8781.       code look like this:
  8782.  
  8783.       [0;1;30mφ [;79Hφ [;3H [0;32m|ON [0m
  8784.  
  8785.       Much smaller, much more compact, a lot faster to display.  What this
  8786.       does is this:
  8787.  
  8788.           [0;1;30m    Changes the color to light black (esc[0m turns off
  8789.                       all special attributes, esc[1m turns on high
  8790.                       intensity, and esc[30m turns the color to black).
  8791.  
  8792.           [;79H       Moves the cursor to a fixed position at column 79.
  8793.           [;3H        Moves the cursor to a fixed position at column 3.
  8794.           [0;32m      Changes the color to dark green (esc[0m turns off
  8795.                       all special attributes, esc[32m turns the color to
  8796.                       green).
  8797.  
  8798.       This smaller piece of ansi code will be displayed FAR faster than
  8799.       the monstrous amount of code TheDraw generated, and they do exactly
  8800.       the same thing.  The |ON in the ansi code will be padded out to the
  8801.       oneliners string.
  8802.  
  8803.       As you can see, the system is very easy to use and can be very
  8804.       versatile.  Please note that each listing has it's own MCI code set
  8805.       that can be used in it.  In the data areas, you can define your own
  8806.       MCI codes, but in some of the repeat method ansis that are built
  8807.       into the BBS, there are only a few MCI codes that can be used (see
  8808.       Section 28.1 for a full list).
  8809.  
  8810.  
  8811.  
  8812.  
  8813.  
  8814.  
  8815.  
  8816.  
  8817.  
  8818.  
  8819.  
  8820.  
  8821.       ────────────────────────────────────────────────────────────────────
  8822.       Oblivion/2 v2.35 Bulletin Board System Documentation             152
  8823.       Section 28                              MAKING STANDARD ANSI SCREENS
  8824.       ────────────────────────────────────────────────────────────────────
  8825.  
  8826.                    Section 28: MAKING STANDARD ANSI SCREENS
  8827.  
  8828.  
  8829.       When making your own custom animated statistic screens, such as a
  8830.       new User Statistics screen, there are a few general rules that must
  8831.       be followed.  All screens should be made according to these rules so
  8832.       that you don't run into any problems with Oblivion/2 displaying them
  8833.       (this is due to it's internal ansi driver).
  8834.  
  8835.       The following are the instructions on making animated status
  8836.       screens that do not have COMPLEX animation in them (ie. moving
  8837.       blocks, etc.):
  8838.  
  8839.           Step 1: Draw your basic screen.
  8840.           Step 2: Put TheDraw into animation mode (press ALT-J).  When
  8841.                   prompted for the scanning method, select TOP.
  8842.           Step 3: Insert the appropriate MCI codes.  Some screens use |xx
  8843.                   codes, while others use %xx codes.  Be sure you are
  8844.                   using the right ones.
  8845.           Step 4: After you've finished adding the MCI codes, save the
  8846.                   screen to an ansi file.  Select Clear Screen and the
  8847.                   line length to 255.  Others will work, but you risk
  8848.                   having your MCI codes go from one line to the next (ie.
  8849.                   %F on one line of text with a save cursor marker behind
  8850.                   it and then the next line beginning with a restore
  8851.                   cursor marker and finishing by placing an M behind it
  8852.                   (esc[u).  If Oblivion/2 comes across a split code like
  8853.                   that, it will not process it as it must read the MCI
  8854.                   code %FM directly from the text, uninterrupted, and 255
  8855.                   line length (or unlimited line length) reduces the
  8856.                   chances of cutoff MCI codes.
  8857.  
  8858.       If your MCI codes are out of place, it is because of one of two
  8859.       reasons.  The reason explained above in Step 4, or else you used a
  8860.       |xx code instead of a %xx code, and vice versa.  The problem in Step
  8861.       4 can be corrected, however, using AnsiTran (see Section 4.8).  It
  8862.       will remove the padding TheDraw put in the MCI code using the save
  8863.       cursor (esc[s) and restore cursor to saved position (esc[u)
  8864.       commands.
  8865.  
  8866.  
  8867.  
  8868.       28.1: Standard MCI Codes
  8869.  
  8870.  
  8871.       The following MCI codes can be used in virtually any ansi you
  8872.       display on your BBS.  These are all %xx codes.
  8873.  
  8874.           %UN     User's handle
  8875.           %RN     User's real name
  8876.           %UU     User's user number
  8877.  
  8878.       ────────────────────────────────────────────────────────────────────
  8879.       Oblivion/2 v2.35 Bulletin Board System Documentation             153
  8880.       Section 28                              MAKING STANDARD ANSI SCREENS
  8881.       ────────────────────────────────────────────────────────────────────
  8882.  
  8883.           %PN     User's phone number
  8884.           %AD     User's address
  8885.           %LO     User's location
  8886.           %UC     User's User Note
  8887.           %UL     User's security level
  8888.           %FL     User's file level
  8889.           %FP     User's file points
  8890.           %UK     User's uploaded Kbytes
  8891.           %DK     User's downloaded Kbytes
  8892.           %UP     User's number of uploads
  8893.           %DN     User's number of downloads
  8894.           %PS     User's number of message posts
  8895.           %CS     User's number of calls
  8896.           %TL     User's time left today
  8897.           %TT     User's daily time limit
  8898.           %CR     User's connect rate
  8899.           %SS     User's current status screen library name
  8900.           %MS     User's current menu library name
  8901.           %PC     User's post/call ratio
  8902.           %NR     User's upload/download ratio
  8903.           %KR     User's upload/download Kbyte ratio
  8904.           %LD     Date that user was last on the system
  8905.           %DU     Days until expiration of user's account
  8906.           %NF     New files
  8907.           %NP     New posts
  8908.           %LC     Name of the last caller to the system
  8909.           %TC     Total calls to the system
  8910.           %CT     Calls today
  8911.           %FT     Files uploaded or added today
  8912.           %PT     Messages posted today
  8913.           %NT     New users today
  8914.           %BN     BBS name
  8915.           %SN     Sysop name
  8916.           %DT     Current date
  8917.           %TM     Current time
  8918.           %CA     Current file area
  8919.           %CB     Current message base
  8920.           %CF     Current file conference
  8921.           %CM     Current message conference
  8922.           %NN     Current node number
  8923.           %VN     Oblivion/2 version number
  8924.           %VD     Oblivion/2 version date
  8925.           %TF     Total files on the system
  8926.           %TP     Total posts on the system
  8927.           %CE     Current message number (only activated when used with NX
  8928.                   menu command)
  8929.           %PF     Turns screen pausing off temporarily
  8930.           %PO     Turns screen pausing back on (provided user had screen
  8931.                   pausing enabled in their account previously).
  8932.           %PA     Prompts for user to press enter
  8933.           %UA     Makes anything below it unabortable by spacebar (use
  8934.  
  8935.       ────────────────────────────────────────────────────────────────────
  8936.       Oblivion/2 v2.35 Bulletin Board System Documentation             154
  8937.       Section 28                              MAKING STANDARD ANSI SCREENS
  8938.       ────────────────────────────────────────────────────────────────────
  8939.  
  8940.                   this code to force users to view certain screens)
  8941.  
  8942.  
  8943.  
  8944.       28.2: Status Screen Library Ansis
  8945.  
  8946.  
  8947.       AREASTAR.ANS - File Area Listing Header
  8948.  
  8949.       AREAMID .ANS - File Area Listing Middle (Repeat)
  8950.           |AN      File area number
  8951.           |AI      File area name
  8952.           |AS      File area sponsor
  8953.  
  8954.       AREAEND .ANS - File Area Listing Footer
  8955.  
  8956.       BCHANGE .ANS - Message base changing ansi
  8957.           |SN      Current base name
  8958.           |SS      Current base sponsor
  8959.           |NM      Number of messages in current base
  8960.           |UP      Number of posts current user made (total)
  8961.           |LR      Last read message by current user
  8962.           |DT      Current date
  8963.           |TI      Current time
  8964.  
  8965.       CONFSCR .ANS - User Configuration Screen
  8966.           |CB      Color bar start
  8967.           |RC      User's regular color
  8968.           |PC      User's prompt color
  8969.           |IC      User's input color
  8970.           |VC      User's inverse color
  8971.           |SC      User's status color
  8972.           |BC      User's box color
  8973.           |FS      Full screen editor toggle
  8974.           |DP      Screen pausing toggle
  8975.           |RR      Reply reading toggle
  8976.           |RM      Redisplay messages toggle
  8977.           |YN      Yes/No bar toggle
  8978.           |SF      Scrollable file lists toggle
  8979.           |PL      Page length
  8980.           |EP      Emulation (Ansi/Avatar)
  8981.           |AD      User's address
  8982.           |LC      User's location
  8983.           |UN      User's user note
  8984.           |CA      User's selected archiver type
  8985.           |CP      Current prompt name
  8986.           |CM      Current menuset name
  8987.           |CS      Current status screen set name
  8988.           &xy      Sysop definable configuration options (where x=user
  8989.                    flag (first set) and y=key to toggle flag
  8990.                    active/inactive)
  8991.  
  8992.       ────────────────────────────────────────────────────────────────────
  8993.       Oblivion/2 v2.35 Bulletin Board System Documentation             155
  8994.       Section 28                              MAKING STANDARD ANSI SCREENS
  8995.       ────────────────────────────────────────────────────────────────────
  8996.  
  8997.  
  8998.       DAILYSRT.ANS - Daily Log Header
  8999.  
  9000.       DAILYMID.ANS - Daily Log Middle (Repeat)
  9001.           |DT      Date
  9002.           |NP      New posts
  9003.           |NF      New files
  9004.           |NC      Number of calls
  9005.           |TU      Time used
  9006.           |NU      New users
  9007.  
  9008.       DAILYEND.ANS - Daily Log Footer
  9009.  
  9010.       EMAILHDR.ANS - Email Header
  9011.           |FM      User email is from
  9012.           |DT      Current date
  9013.           |TI      Current time
  9014.           |ST      User email is sent to
  9015.           |UN      Sender's user note
  9016.           |TL      Email title
  9017.  
  9018.       FCONFIGS.ANS - File Listing Configuration Screen
  9019.           |O1      Option 1 - Status of file (free, offline, etc.)
  9020.           |O2      Option 2 - File points
  9021.           |O3      Option 3 - File size
  9022.           |O4      Option 4 - Date uploaded
  9023.           |O5      Option 5 - Number of downloads
  9024.           |O6      Option 6 - Name of uploader
  9025.           |O7      Option 7 - File description
  9026.           |US      Number of used characters
  9027.           |EX      Example of listing
  9028.  
  9029.       FHEADER .ANS - File Listing Header
  9030.           |FH      Line of information
  9031.  
  9032.       FILEINFO.ANS - File Information Screen
  9033.           |FN      Filename
  9034.           |UL      Uploader's name
  9035.           |FP      File points the file is worth
  9036.           |TD      The amount of times the file has been downloaded
  9037.           |SK      File size in bytes
  9038.           |FK      File size in Kbytes
  9039.  
  9040.       FILESTAT.ANS - User's File Statistics
  9041.           Standard Codes
  9042.  
  9043.       FSEHEAD .ANS - Full Screen Editor Header
  9044.           |TI      Title of message
  9045.           |ST      Who the message is sent to
  9046.           |AN      Anonymous toggle (on/off)
  9047.           |AU      Autosig toggle (on/off)
  9048.  
  9049.       ────────────────────────────────────────────────────────────────────
  9050.       Oblivion/2 v2.35 Bulletin Board System Documentation             156
  9051.       Section 28                              MAKING STANDARD ANSI SCREENS
  9052.       ────────────────────────────────────────────────────────────────────
  9053.  
  9054.           |DT      Current date
  9055.           |TI      Current time
  9056.  
  9057.       GENSRT  .ANS - Generic Menu Template Header
  9058.           |TI      Menu title
  9059.  
  9060.       GENMID  .ANS - Generic Menu Template Middle (Repeat)
  9061.           |Kx      Keys for option x in the line
  9062.           |Dx      Description for option x in the line
  9063.  
  9064.       GENEND  .ANS - Generic Menu Template Footer
  9065.           (for more info on Generic Menus, see Section 19)
  9066.  
  9067.       HDR     .ANS - Header
  9068.           |HM      Header message
  9069.           |CH      Header message (centered)
  9070.           |LH      Repeats the next character (directly after the code)
  9071.                    for as many characters as there are in the header
  9072.                    message
  9073.           |CC      Repeats the next character (directly after the code)
  9074.                    for as many characters as are needed such that four |CC
  9075.                    and |HM fill an 80 character line
  9076.  
  9077.       HEADER  .ANS - Message header
  9078.           |BN      Current base name
  9079.           |RT      Message to which current is a reply
  9080.           |MN      Current message number
  9081.           |OU      Total messages in current base
  9082.           |TL      Title of message
  9083.           |UN      Poster's user note
  9084.           |FM      Poster's name
  9085.           |DT      Date current message was posted
  9086.           |TI      Time current message was posted
  9087.           |TO      Who the message is sent to
  9088.           |ST      Status of message (echomail, received, etc.)
  9089.  
  9090.       INCSRT  .ANS - Incoming Email Header
  9091.  
  9092.       INCMID  .ANS - Incoming Email Middle (Repeat)
  9093.           |NU      Email number
  9094.           |TI      Email title
  9095.           |ST      Email status (new/old)
  9096.           |FM      Name of whom the email is from
  9097.  
  9098.       INCEND  .ANS - Incoming Email Footer
  9099.  
  9100.       LASTSRT .ANS - Last Callers Header
  9101.  
  9102.       LASTMID .ANS - Last Callers Middle (Repeat)
  9103.           |UH      User's handle
  9104.           |DO      Date on
  9105.  
  9106.       ────────────────────────────────────────────────────────────────────
  9107.       Oblivion/2 v2.35 Bulletin Board System Documentation             157
  9108.       Section 28                              MAKING STANDARD ANSI SCREENS
  9109.       ────────────────────────────────────────────────────────────────────
  9110.  
  9111.           |TO      Time user logged in
  9112.           |BR      Connected baud rate
  9113.           |NN      Node number
  9114.  
  9115.       LASTEND .ANS - Last Callers Footer
  9116.  
  9117.       NEWSHEAD.ANS - News Header
  9118.           |BN      Base name
  9119.           |RT      Message to which current is a reply
  9120.           |MN      Message number
  9121.           |OU      Total messages
  9122.           |TL      Title
  9123.           |UN      Poster's note
  9124.           |FM      Poster's name
  9125.           |DT      Date posted
  9126.           |TI      Time posted
  9127.           |TO      Sent to
  9128.           |ST      Status
  9129.  
  9130.       OUTSRT  .ANS - Outgoing Email Header
  9131.  
  9132.       OUTMID  .ANS - Outgoing Email Middle (Repeat)
  9133.           |NU      Email number
  9134.           |TI      Email title
  9135.           |ST      Email status (new/old)
  9136.           |TO      Name of who the email is addressed to
  9137.  
  9138.       OUTEND  .ANS - Outgoing Email Footer
  9139.  
  9140.       PROxSRT .ANS - Protocol Listing Header
  9141.  
  9142.       PROxMID .ANS - Protocol Listing Middle (Repeat)
  9143.           |KE      Key to activate protocol
  9144.           |DE      Protocol description
  9145.  
  9146.       PROxEND .ANS - Protocol Listing Footer
  9147.  
  9148.           where x is one of the following:
  9149.  
  9150.           1        Download protocols
  9151.           2        Upload protocols
  9152.           3        Batch download protocols
  9153.           4        Batch upload protocols
  9154.           5        Resume protocols
  9155.           6        Bi-directional protocols
  9156.  
  9157.           (PROT1SRT.ANS, PROT1MID.ANS, and PROT1END.ANS would all be
  9158.           needed for a download protocol listing).
  9159.  
  9160.       STATUS  .ANS - User's Statistics
  9161.           Standard Codes
  9162.  
  9163.       ────────────────────────────────────────────────────────────────────
  9164.       Oblivion/2 v2.35 Bulletin Board System Documentation             158
  9165.       Section 28                              MAKING STANDARD ANSI SCREENS
  9166.       ────────────────────────────────────────────────────────────────────
  9167.  
  9168.  
  9169.       SUBSSTAR.ANS - Message Base Listing Header
  9170.  
  9171.       SUBSMID .ANS - Message Base Listing Middle (Repeat)
  9172.           |AN      Base number
  9173.           |BN      Base name
  9174.           |SS      Base sponsor
  9175.  
  9176.       SUBSEND .ANS - Message Base Listing Footer
  9177.  
  9178.       TOP-xx  .ANS where xx is one of the following:
  9179.  
  9180.         TOP-1.ANS  - Top ten best uploaders
  9181.         TOP-2.ANS  - Top ten worst uploaders
  9182.         TOP-3.ANS  - Top ten best downloaders
  9183.         TOP-4.ANS  - Top ten worst downloaders
  9184.         TOP-5.ANS  - Top ten best post/call ratio
  9185.         TOP-6.ANS  - Top ten worst post/call ratio
  9186.         TOP-7.ANS  - Top ten best uploaders in K
  9187.         TOP-8.ANS  - Top ten worst uploaders in K
  9188.         TOP-9.ANS  - Top ten best downloaders in K
  9189.         TOP-10.ANS - Top ten worst downloaders in K
  9190.         TOP-11.ANS - Top ten best message posters
  9191.         TOP-12.ANS - Top ten worst message posters
  9192.         TOP-13.ANS - Top ten best callers
  9193.         TOP-14.ANS - Top ten worst callers
  9194.  
  9195.           All of the TOP-xx.ANS files share the same MCI codes:
  9196.           |TN      Top ten name
  9197.           |N1      User name for position 1
  9198.           |V1      Value for user 1
  9199.           |B1      Bar for user 1
  9200.           |N2      User name for position 2
  9201.           |V2      Value for user 2
  9202.           |B2      Bar for user 2
  9203.           |N3      User name for position 3
  9204.           |V3      Value for user 3
  9205.           |B3      Bar for user 3
  9206.           |N4      User name for position 4
  9207.           |V4      Value for user 4
  9208.           |B4      Bar for user 4
  9209.           |N5      User name for position 5
  9210.           |V5      Value for user 5
  9211.           |B5      Bar for user 5
  9212.           |N6      User name for position 6
  9213.           |V6      Value for user 6
  9214.           |B6      Bar for user 6
  9215.           |N7      User name for position 7
  9216.           |V7      Value for user 7
  9217.           |B7      Bar for user 7
  9218.           |N8      User name for position 8
  9219.  
  9220.       ────────────────────────────────────────────────────────────────────
  9221.       Oblivion/2 v2.35 Bulletin Board System Documentation             159
  9222.       Section 28                              MAKING STANDARD ANSI SCREENS
  9223.       ────────────────────────────────────────────────────────────────────
  9224.  
  9225.           |V8      Value for user 8
  9226.           |B8      Bar for user 8
  9227.           |N9      User name for position 9
  9228.           |V9      Value for user 9
  9229.           |B9      Bar for user 9
  9230.           |N0      User name for position 10
  9231.           |V0      Value for user 10
  9232.           |B0      Bar for user 10
  9233.  
  9234.       USERSTAR.ANS - User Listing Header
  9235.  
  9236.       USERMID .ANS - User Listing Middle (Repeat)
  9237.           |UH      User's handle
  9238.           |LE      User's security level
  9239.           |UN      User note
  9240.           |AC      User's area code
  9241.           |LC      User's last call
  9242.  
  9243.       USEREND .ANS - User Listing Footer
  9244.  
  9245.       USERSTAT.ANS - User's Statistics
  9246.           Standard Codes
  9247.  
  9248.       QWKDN   .ANS - QWK Download Packet/Archive Packet Screen
  9249.           |L1      Light 1 - Creating control file (all "light" ansis will
  9250.                    blink a ■ when they are processing and will stop
  9251.                    blinking when the current operation is finished)
  9252.           |L2      Light 2 - Creating door information file
  9253.           |L3      Light 3 - Conference
  9254.           |L4      Light 4 - Message base
  9255.           |L5      Light 5 - Post information
  9256.           |L6      Light 6 - Archiving mail packet
  9257.           |CP      Current conference number
  9258.           |BP      Current message base
  9259.           |TP      Total posts in message base
  9260.           |NP      Total new posts in message base
  9261.           |EP      End placement marker (this is where the cursor will go
  9262.                    when everything is done and the QWK packet is ready to
  9263.                    be downloaded)
  9264.           |B1      Location of bar (the color of this code will determine
  9265.                    the color of the blocks as they fill in)
  9266.           |B2      Background bar color (the color of this code will
  9267.                    determine the background color of the bar)
  9268.  
  9269.       QWKUP   .ANS - QWK Upload (REP) Packet/Processing Screen
  9270.           |BP      Message base
  9271.           |SP      Who message was sent to
  9272.           |TI      Title of message
  9273.           |OP      Operation message (ie. echomail posted, etc.)
  9274.  
  9275.       ZIPHEAD .ANS - Internal ZIP viewer header
  9276.  
  9277.       ────────────────────────────────────────────────────────────────────
  9278.       Oblivion/2 v2.35 Bulletin Board System Documentation             160
  9279.       Section 28                              MAKING STANDARD ANSI SCREENS
  9280.       ────────────────────────────────────────────────────────────────────
  9281.  
  9282.           [Uses the same codes as HDR.ANS]
  9283.  
  9284.  
  9285.  
  9286.       28.3: Miscellaneous Ansis
  9287.  
  9288.  
  9289.       SYSPASS.ANS  - System Password Screen
  9290.           |PP      Place to prompt for password
  9291.           |BP      Place to display bad password message (String ***)
  9292.  
  9293.       USERLOG.ANS  - User Login Screen
  9294.           |NP      Place to prompt for user name
  9295.           |PP      Place to prompt for user password
  9296.           |QP      Place to display quick login message (String ***)
  9297.           |IP      Place to display error message (String ***)
  9298.  
  9299.       The following screens use the standard %xx MCI codes:
  9300.  
  9301.       EXPIRED .BBS - File is displayed to user when their account has
  9302.                      expired.
  9303.       BLACKLST.ANS - File is displayed to users in the Blacklist.  A %OT
  9304.                      MCI code will show the user when they can next apply
  9305.                      (immediate/date/never).
  9306.       ENOUGH  .ANS - File is displayed to user when he/she has paged more
  9307.                      than the specified amount of times.
  9308.       GOODBYE .ANS - Shown to user when logging off.
  9309.       KICK-OFF.ANS - File is displayed to user when sysop nukes him with
  9310.                      the ALT-Q command.
  9311.       LINEMENU.ANS - Help screen for the Line Editor.
  9312.       NOTLEFT .ANS - File is displayed to user when he/she has used all of
  9313.                      their time.
  9314.       NUVDOWN .ANS - File is displayed to user when he/she has been turned
  9315.                      down by the New User Voting committee.
  9316.       PRELOGON.ANS - Prelogon screen.
  9317.       SLOWBAUD.ANS - File is displayed to users who are calling in at a
  9318.                      baud rate too slow for the system and who do not know
  9319.                      the slow-baud lockout password.
  9320.       SYSSTAT .ANS - System statistics screen.
  9321.       TOONODE .ANS - File is displayed to a user trying to login while
  9322.                      already on another node.
  9323.       ULCHECK .ANS - Upload checker display ansi.
  9324.       DONE    .APP - File is displayed to user when he/she has finished
  9325.                      applying.
  9326.       LETTER  .APP - File is displayed to user before he/she is prompted
  9327.                      to send a new user letter to the sysop during the
  9328.                      application.
  9329.       NUPBAD  .APP - Displayed to users who do not know the New User
  9330.                      Password.
  9331.       PRINT   .APP - Displayed to users before they begin applying.
  9332.       CHECKED .xxx - Displayed to a user who is checking for access, but
  9333.  
  9334.       ────────────────────────────────────────────────────────────────────
  9335.       Oblivion/2 v2.35 Bulletin Board System Documentation             161
  9336.       Section 28                              MAKING STANDARD ANSI SCREENS
  9337.       ────────────────────────────────────────────────────────────────────
  9338.  
  9339.                      has a security level less than 0 where xxx is the
  9340.                      level less than 0 that the user has (ie. CHECKED.1
  9341.                      would be displayed to user with a security level of
  9342.                      -1).
  9343.       SUBS    .xxx - Shown to user when viewing message base listing where
  9344.                      xxx is the conference ID, external listings are on,
  9345.                      but the repeat method is disabled.
  9346.       WELCOME .xxx - Welcome screen (rotates; where xxx=1-999).
  9347.       XFER    .xxx - Shown to user when viewing file area listing where
  9348.                      xxx is the conference ID, external listings are on,
  9349.                      but the repeat method is disabled.
  9350.  
  9351.  
  9352.  
  9353.       28.4: File Description MCI Codes
  9354.  
  9355.  
  9356.       The following MCI codes can be used in the file description fields
  9357.       in the File Configuration in the System Config (see Section 3.8).
  9358.  
  9359.           |TC      Archive size uncompressed
  9360.           |CC      Archive size compressed
  9361.           |UL      Uploader's name
  9362.           |UD      Date of upload
  9363.           |TM      Time of upload
  9364.           |DD      Date of FILE_ID.DIZ
  9365.           |ND      Newest file date
  9366.           |OD      Oldest file date
  9367.  
  9368.  
  9369.  
  9370.       28.5: Color MCI Codes
  9371.  
  9372.  
  9373.       The following are all of the color MCI codes that Oblivion/2
  9374.       supports.  Namely these are the standard pipe color codes and the
  9375.       PCBoard color codes.
  9376.  
  9377.       In the foreground box below, the first codes are the low intensity
  9378.       colors while the second codes are the high intensity (bright)
  9379.       colors.  All of these codes are in the form |xx where xx is one of
  9380.       the codes below:
  9381.  
  9382.               Foreground  Background
  9383.               ┌──────┐    ┌──┐
  9384.       Black   │00  08│    │16│
  9385.       Blue    │01  09│    │17│
  9386.       Green   │02  10│    │18│
  9387.       Cyan    │03  11│    │19│
  9388.       Red     │04  12│    │20│
  9389.       Magenta │05  13│    │21│
  9390.  
  9391.       ────────────────────────────────────────────────────────────────────
  9392.       Oblivion/2 v2.35 Bulletin Board System Documentation             162
  9393.       Section 28                              MAKING STANDARD ANSI SCREENS
  9394.       ────────────────────────────────────────────────────────────────────
  9395.  
  9396.       Brown   │06  14│    │22│
  9397.       White   │07  15│    │23│
  9398.               └──────┘    └──┘
  9399.  
  9400.       The color sequence indicator for the PCBoard color codes is @X,
  9401.       followed by a two digit code: 0-F, to form the color code. The
  9402.       color chart below is for the PCBoard color code set, and the codes
  9403.       are listed together, low intensity and high intesity.  The top row
  9404.       of colors are foreground colors, while the colors listed on the
  9405.       left-hand column are background colors.  All of these codes are in
  9406.       the form @Xxx where xx is one of the codes listed below:
  9407.  
  9408.  
  9409.  
  9410.  
  9411.  
  9412.  
  9413.  
  9414.  
  9415.  
  9416.  
  9417.  
  9418.  
  9419.  
  9420.  
  9421.  
  9422.  
  9423.  
  9424.  
  9425.  
  9426.  
  9427.  
  9428.  
  9429.  
  9430.  
  9431.  
  9432.  
  9433.  
  9434.  
  9435.  
  9436.  
  9437.  
  9438.  
  9439.  
  9440.  
  9441.  
  9442.  
  9443.  
  9444.  
  9445.  
  9446.  
  9447.  
  9448.       ────────────────────────────────────────────────────────────────────
  9449.       Oblivion/2 v2.35 Bulletin Board System Documentation             163
  9450.       Section 28                              MAKING STANDARD ANSI SCREENS
  9451.       ────────────────────────────────────────────────────────────────────
  9452.  
  9453.         Regular colors:
  9454.  
  9455.                Black Blue  Green Cyan  Red   Mag.  Brown White
  9456.               ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
  9457.       Black   │00 08│01 09│02 0A│03 0B│04 0C│05 0D│06 0E│07 0F│
  9458.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9459.       Blue    │10 18│11 19│12 1A│13 1B│14 1C│15 1D│16 1E│17 1F│
  9460.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9461.       Green   │20 28│21 29│22 2A│23 2B│24 2C│25 2D│26 2E│27 2F│
  9462.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9463.       Cyan    │30 38│31 39│32 3A│33 3B│34 3C│35 3D│36 3E│37 3F│
  9464.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9465.       Red     │40 48│41 49│42 4A│43 4B│44 4C│45 4D│46 4E│47 4F│
  9466.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9467.       Magenta │50 58│51 59│52 5A│53 5B│54 5C│55 5D│56 5E│47 5F│
  9468.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9469.       Brown   │60 68│61 69│62 6A│63 6B│64 6C│65 6D│66 6E│67 6F│
  9470.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9471.       White   │70 78│71 79│72 7A│73 7B│74 7C│75 7D│76 7E│77 7F│
  9472.               └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
  9473.  
  9474.         Blinking colors:
  9475.  
  9476.                Black Blue  Green Cyan  Red   Mag.  Brown White
  9477.               ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
  9478.       Black   │80 88│81 89│82 8A│83 8B│84 8C│85 8D│86 8E│87 8F│
  9479.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9480.       Blue    │90 98│91 99│92 9A│93 9B│94 9C│95 9D│96 9E│97 9F│
  9481.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9482.       Green   │A0 A8│A1 A9│A2 AA│A3 AB│A4 AC│A5 AD│A6 AE│A7 AF│
  9483.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9484.       Cyan    │B0 B8│B1 B9│B2 BA│B3 BB│B4 BC│B5 BD│B6 BE│B7 BF│
  9485.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9486.       Red     │C0 C8│C1 C9│C2 CA│C3 CB│C4 CC│C5 CD│C6 CE│C7 CF│
  9487.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9488.       Magenta │D0 D8│D1 D9│D2 DA│D3 DB│D4 DC│D5 DD│D6 DE│D7 DF│
  9489.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9490.       Brown   │E0 E8│E1 E9│E2 EA│E3 EB│E4 EC│E5 ED│E6 EE│E7 EF│
  9491.               ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
  9492.       White   │F0 F8│F1 F9│F2 FA│F3 FB│F4 FC│F5 FD│F6 FE│F7 FF│
  9493.               └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
  9494.  
  9495.  
  9496.  
  9497.  
  9498.  
  9499.  
  9500.  
  9501.  
  9502.  
  9503.  
  9504.  
  9505.       ────────────────────────────────────────────────────────────────────
  9506.       Oblivion/2 v2.35 Bulletin Board System Documentation             164
  9507.       Section 29                                     FUNCTIONS OF ANSI.SYS
  9508.       ────────────────────────────────────────────────────────────────────
  9509.  
  9510.                       Section 29: FUNCTIONS OF ANSI.SYS
  9511.  
  9512.  
  9513.       The ANSI escape codes for screen control supported by the MS-DOS
  9514.       ANSI.SYS device are a subset of the ANSI 3.64-1979 standard.  They
  9515.       are used by Oblivion/2 to manipulate screen information, primarily
  9516.       cursor position and color changes.
  9517.  
  9518.       An escape code consists of two segments of data:  (1) an identifier
  9519.       (the esc[ part, esc being the ASCII char AltGr-27 or 1Bh) and (2)
  9520.       the control code, the actual command to perform on the cursor or
  9521.       screen.  Thus, all ANSI codes begin with esc[ and end with a code.
  9522.       All codes supported by ANSI.SYS are listed below, the identifier
  9523.       included, with a short description of it's use.
  9524.  
  9525.       Note that case is significant for the last character in an escape
  9526.       sequence and that numbers must always be represented as ASCII digit
  9527.       strings, not as their binary values.  Also note, that cursor
  9528.       positions are one-based, making 1,1 upper left corner (and not 0,0).
  9529.       (A separate set of escape sequences supported by ANSI.SYS, but not
  9530.       compatible with the ANSI standard, may be used for reprogramming and
  9531.       remapping the keyboard.  These are not supported by Oblivion/2).
  9532.  
  9533.       ═══════════════════════════════════════════════════════════════════
  9534.       Escape
  9535.       Sequence:       Meaning:
  9536.       ═══════════════════════════════════════════════════════════════════
  9537.       Esc[2J          Clear screen.  Place cursor in upper left corner
  9538.                       (home position).
  9539.       Esc[K           Clear from cursor to EOL.
  9540.       ───────────────────────────────────────────────────────────────────
  9541.       Esc[row;colH    Position cursor.  (Row is the y coordinate in the
  9542.                       range of 1-25 and col is the x coordinate in the
  9543.                       range of 1-80 for 80-by-25 text display modes).
  9544.                       Escape sequences terminated with the letter f
  9545.                       instead of H have the same effect.  (Esc[H will
  9546.                       home cursor).
  9547.       *NOTE*          Since ANSI.SYS doesn't support "go to X column in
  9548.                       current row", and thus TheDraw doesn't add that
  9549.                       code in, Obv/2 uses it's own.  Esc[;xxH should go
  9550.                       to XXth column in first row, but for middle in
  9551.                       the repeat ansis (and only middle in the repeat
  9552.                       ansis), it goes to the XXth column in the current
  9553.                       row.  You therefore need to edit your repeat ansi
  9554.                       in an ascii editor when you've finished the
  9555.                       middle part.  See Section 27 about repeat ansis
  9556.                       for more information.
  9557.       ───────────────────────────────────────────────────────────────────
  9558.       Esc[nA          Move cursor up n rows.
  9559.       Esc[nB          Move cursor down n rows.
  9560.       Esc[nC          Move cursor right n rows.
  9561.  
  9562.       ────────────────────────────────────────────────────────────────────
  9563.       Oblivion/2 v2.35 Bulletin Board System Documentation             165
  9564.       Section 29                                     FUNCTIONS OF ANSI.SYS
  9565.       ────────────────────────────────────────────────────────────────────
  9566.  
  9567.       Esc[nD          Move cursor left n rows.
  9568.       Esc[s           Save current cursor position.
  9569.       Esc[u           Restore cursor to saved position.
  9570.       Esc[6n          Return current cursor position on the standard
  9571.                       input handle in the format esc[row;colR.
  9572.       ───────────────────────────────────────────────────────────────────
  9573.       Esc[nm          Select character attributes (values for n):
  9574.                       0=no special attributes
  9575.                       1=high intensity
  9576.                       2=low intensity
  9577.                       3=italic
  9578.                       4=undeline
  9579.                       5=blink
  9580.                       6=rapid blink
  9581.                       7=reverse video
  9582.                       8=concealed text (no display)
  9583.                       30=foreground black
  9584.                       31=foreground red
  9585.                       32=foreground green
  9586.                       33=foreground yellow
  9587.                       34=foreground blue
  9588.                       35=foreground magenta
  9589.                       36=foreground cyan
  9590.                       37=foreground white
  9591.                       40=background black
  9592.                       41=background red
  9593.                       42=background green
  9594.                       43=background yellow
  9595.                       44=background blue
  9596.                       45=background magenta
  9597.                       46=background cyan
  9598.                       47=background white
  9599.       ═══════════════════════════════════════════════════════════════════
  9600.       Esc[=nh         Select display mode (values for n):
  9601.                       0=40-by-25, 16-color text (color burst off)
  9602.                       1=40-by-25, 16-color text
  9603.                       2=80-by-25, 16-color text (color burst off)
  9604.                       3=80-by-25, 16-color text
  9605.                       4=320-by-200, 4-color graphics
  9606.                       5=320-by-200, 4-color graphics (color burst off)
  9607.                       6=620-by-200, 2-color graphics
  9608.       ───────────────────────────────────────────────────────────────────
  9609.                       14=640-by-200, 16-color graphics (EGA and VGA)
  9610.                       15=640-by-350, 2-color graphics (EGA and VGA)
  9611.                       16=640-by-350, 16-color graphics (EGA and VGA)
  9612.                       17=640-by-480, 2-color graphics (MCGA and VGA)
  9613.                       18=640-by-480, 16-color graphics (VGA)
  9614.                       19=320-by-200, 256-color graphics (MCGA and VGA)
  9615.                       Escape sequences terminated with l instead of h
  9616.                       have the same effect
  9617.       ───────────────────────────────────────────────────────────────────
  9618.  
  9619.       ────────────────────────────────────────────────────────────────────
  9620.       Oblivion/2 v2.35 Bulletin Board System Documentation             166
  9621.       Section 29                                     FUNCTIONS OF ANSI.SYS
  9622.       ────────────────────────────────────────────────────────────────────
  9623.  
  9624.       Esc[=7h         Enable line wrap
  9625.       Esc[=7l         Disable line wrap
  9626.       ═══════════════════════════════════════════════════════════════════
  9627.       ASCII Bell      ^G
  9628.       ───────────────────────────────────────────────────────────────────
  9629.       Esc[#;string;p  Reassign a "string" or another value to a key.
  9630.       The first # or esc[#;#p can be also written as 0;# for extended
  9631.       ASCII key codes.
  9632.       ═══════════════════════════════════════════════════════════════════
  9633.  
  9634.  
  9635.  
  9636.  
  9637.  
  9638.  
  9639.  
  9640.  
  9641.  
  9642.  
  9643.  
  9644.  
  9645.  
  9646.  
  9647.  
  9648.  
  9649.  
  9650.  
  9651.  
  9652.  
  9653.  
  9654.  
  9655.  
  9656.  
  9657.  
  9658.  
  9659.  
  9660.  
  9661.  
  9662.  
  9663.  
  9664.  
  9665.  
  9666.  
  9667.  
  9668.  
  9669.  
  9670.  
  9671.  
  9672.  
  9673.  
  9674.  
  9675.  
  9676.       ────────────────────────────────────────────────────────────────────
  9677.       Oblivion/2 v2.35 Bulletin Board System Documentation             167
  9678.       Section 30                 HELP SYSTEMS, REGISTRATION SITES, SUPPORT
  9679.       ────────────────────────────────────────────────────────────────────
  9680.  
  9681.             Section 30: HELP SYSTEMS, REGISTRATION SITES, SUPPORT
  9682.  
  9683.  
  9684.       If you would like to register Oblivion/2, find some utilities for
  9685.       it, or simply get some help and/or support for the software, please
  9686.       refer to the following help systems:
  9687.  
  9688.           World Headquarters:
  9689.  
  9690.                           Alderaan
  9691.  
  9692.                           Tel. 1-908-224-8780
  9693.  
  9694.                           Email:  141:100/8@OSNet            (MindCrime)
  9695.  
  9696.           USA Headquarters, Support Network World Headquarters:
  9697.  
  9698.                           Dark Side of the Moon
  9699.  
  9700.                           Tel. 1-810-979-3178
  9701.  
  9702.                           Email:  141:200/3@OSNet            (Patriot)
  9703.                                   152:5810/0@ImpactNet
  9704.                                   1:120/412@FidoNet          (James Waleke)
  9705.  
  9706.           Canadian Headquarters, World Registration Site:
  9707.  
  9708.                           Stronghold Enterprises
  9709.  
  9710.                           Tel. 1-403-456-5699
  9711.  
  9712.                           #108 13806-24 St
  9713.                           Edmonton, AB
  9714.                           T5Y 1J7
  9715.                           Canada
  9716.  
  9717.                           Email:  141:500/0@OSNet            (Lasher)
  9718.                                   152:500/0@ImpactNet
  9719.                                   23:100/17@BlackNet
  9720.                                   20:100/4@TabNet
  9721.                                   50:200/0@fORCENEt
  9722.                                   109:403/0@DarkNet
  9723.                                   111:1403/0@Sysop's TechNet (Vincent Danen)
  9724.                                   100:1403/4@RPGNet
  9725.                                   411:230/0@IVNet
  9726.                                   753:1000/102@GPBNet
  9727.                                   1:342/52@FidoNet
  9728.                                   obv@acid.org
  9729.  
  9730.           Support Sites
  9731.           ─────────────
  9732.  
  9733.       ────────────────────────────────────────────────────────────────────
  9734.       Oblivion/2 v2.35 Bulletin Board System Documentation             168
  9735.       Section 30                 HELP SYSTEMS, REGISTRATION SITES, SUPPORT
  9736.       ────────────────────────────────────────────────────────────────────
  9737.  
  9738.  
  9739.       These support sites always have the latest version of Oblivion/2
  9740.       available for download or file-request, can provide help for setting
  9741.       up Oblivion/2 and will try to help when you have problems with
  9742.       Oblivion/2:
  9743.  
  9744.       Lasher      Stronghold Enterprises      141:500/0     1-403-456-5699
  9745.       Patriot     Dark Side of the Moon       141:200/3     1-810-979-3178
  9746.       MindCrime   Alderaan                    141:100/8     1-908-224-8780
  9747.  
  9748.  
  9749.  
  9750.  
  9751.  
  9752.  
  9753.  
  9754.  
  9755.  
  9756.  
  9757.  
  9758.  
  9759.  
  9760.  
  9761.  
  9762.  
  9763.  
  9764.  
  9765.  
  9766.  
  9767.  
  9768.  
  9769.  
  9770.  
  9771.  
  9772.  
  9773.  
  9774.  
  9775.  
  9776.  
  9777.  
  9778.  
  9779.  
  9780.  
  9781.  
  9782.  
  9783.  
  9784.  
  9785.  
  9786.  
  9787.  
  9788.  
  9789.  
  9790.       ────────────────────────────────────────────────────────────────────
  9791.       Oblivion/2 v2.35 Bulletin Board System Documentation             169
  9792.       Section 31                                 ACKNOWLEDGEMENTS, CREDITS
  9793.       ────────────────────────────────────────────────────────────────────
  9794.  
  9795.                     Section 31: ACKNOWLEDGEMENTS, CREDITS
  9796.  
  9797.  
  9798.       Oblivion/2 uses the JAM(mbp) API - Copyright 1993 Joaquim
  9799.       Homrighausen, Andrew Milner, Mats Birch, Mats Wallin.  ALL RIGHTS
  9800.       RESERVED.
  9801.  
  9802.       All brand and product names are copyrighted material, trademarks or
  9803.       registered trademarks of their respective holders:
  9804.  
  9805.       FrontDoor               Joaquim Homrighausen, Absolute Solutions
  9806.       InterMail               Further Development, Inc.
  9807.       BinkleyTerm             Bit Bucket Software
  9808.       McMail                  Albert Freriks and Gordian Schuermann
  9809.       D'Bridge                Mosaic Press
  9810.       Portal of Power         The Portal Team
  9811.       FastEcho                Software Technik Burchardt
  9812.       GEcho                   Gerard J. van der Land
  9813.       PKZIP, PKPAK            PKWARE, Inc.
  9814.       LHA                     Haruyasu Yoshizaki
  9815.       PAK                     NoGate Consulting
  9816.       ARJ                     Robert K. Jung
  9817.       ARC                     Systems Enhancements Associates
  9818.       RAR                     Eugene Roshal
  9819.       UC2                     Ad Infinitum Programs
  9820.       HA                      Harri Hirvola
  9821.       DWC                     Dean W. Cooper
  9822.       Hyper                   P. Sawatzki and K.P. Nischke
  9823.       DSZ, GSZ                Omen Technology Inc.
  9824.       HSLink                  Samuel H. Smith
  9825.       vFAST                   International TeleCommunications
  9826.       X00                     Raymond L. Gwinn
  9827.       Avatar                  G. Adam Stanislav
  9828.       TheDraw                 TheSoft Programming Service and Ian E. Davis
  9829.       Norton Utilities        Symantec Corporation
  9830.       DESQview, QEMM          QuarterDeck Office Systems
  9831.       Microsoft, MS-DOS,
  9832.         Windows, Windows95    Microsoft Corporation
  9833.       IBM, PC-DOS, OS/2       International Business Machines
  9834.  
  9835.  
  9836.  
  9837.  
  9838.  
  9839.  
  9840.  
  9841.  
  9842.  
  9843.  
  9844.  
  9845.  
  9846.  
  9847.       ────────────────────────────────────────────────────────────────────
  9848.       Oblivion/2 v2.35 Bulletin Board System Documentation             170
  9849.       Section 32                                                    THANKS
  9850.       ────────────────────────────────────────────────────────────────────
  9851.  
  9852.                               Section 32: THANKS
  9853.  
  9854.  
  9855.       I would like to thank all of the people who contributed to this
  9856.       documentation with their ideas and suggestions.  There are too many
  9857.       of you to mention, but rest assured I remember you all.  I would
  9858.       like to send a very special thank you to Eric Katz (formerly known
  9859.       as Darkened Enmity) for making Oblivion/2 such an excellent program,
  9860.       and to Murray Stokely (aka Shivan Bastard) for continuing on to make
  9861.       Oblivion/2 even better.  I'd like to thank all of the beta sysops
  9862.       for their hard work and dedication to the progression of this
  9863.       software.  Finally, but certainly not least, I'd like to thank God
  9864.       for the talent He's given me in writing this documentation.
  9865.  
  9866.       If you would like to get in contact with me, for either support or
  9867.       suggestions for the future of the documentation (to either make
  9868.       things easier to understand or add something I may have forgotten)
  9869.       please look above for all of the many ways you can contact me.
  9870.  
  9871.                                    .──+──.
  9872.  
  9873.  
  9874.  
  9875.  
  9876.  
  9877.  
  9878.  
  9879.  
  9880.  
  9881.  
  9882.  
  9883.  
  9884.  
  9885.  
  9886.  
  9887.  
  9888.  
  9889.  
  9890.  
  9891.  
  9892.  
  9893.  
  9894.  
  9895.  
  9896.  
  9897.  
  9898.  
  9899.  
  9900.  
  9901.  
  9902.  
  9903.  
  9904.       ────────────────────────────────────────────────────────────────────
  9905.       Oblivion/2 v2.35 Bulletin Board System Documentation             171